ssh-copy-idをmacで利用する。
以前、SSHでtrixbox(もちろんLinuxでもMACでもOK)にパスワードなしでログインする方法って記事を書いたら、結構アクセスも多いみたいやし、仲間からも参考にしたって声を良く聞く。
でも、良く良く聞いてみると、うまく行かなかったよ・・・って人もいるみたいで。
そういえば、Linuxにはssh-copy-idってコマンドあったよな〜って思い出して、試しにmacでやってみると無いみたい。
Linuxでssh-copy-idを見てみるとシェルスクリプトで出来てて、そのままコピーしてmacで使っても利用できそうなのでいつもの通りやってみた。
ローカルでRSA鍵を作るところまではこの記事と同じで、id_rsa.pubを転送するところがこのコマンドの出番です。
コードをvi /usr/local/bin/ssh-copy-idとかで作って貼り付けて保存。
chmod +x /usr/local/bin/ssh-copy-id で実行権限をつけて実行するか、Linuxからコピーしてくるかなんかしてmacで実行できる様にしてください。
あと注意点は、trixboxProはrootユーザーのパスワードが元々無いので、コンソールからrootでパスワードログイン出来るようにしておくことと、ssh-copy-idはコマンドを実行するユーザーでログインを試みるのでrootで実行しないとtrixboxProにはログインできません。
もっとも、ユーザーを作っておけばいいのですが、わざわざtrixboxProにユーザーを作る方が面倒なので。
ssh-copy-idを使わないときは
で行うところを
# cat .ssh/id_rsa.pub | ssh remote_username@remote_host.com "cat >> .ssh/authorized_keys"
ってすれば、RSA鍵を転送できます。
ssh-copy-id remotehost.com
上でやっても、「ERROR: No identities found」って出るときはこっちを試してみてください。
cd
ssh-copy-id -i .ssh/id_rsa.pub remotehost
ちなみに、CentOS5.4のssh-copy-idの中身はこんな感じ。
http://www.qloog.com/blogsupport/ssh-copy-id
まぁ、手間にはそれほど差がありませんねぇ。
と言うか、trixboxPro相手ならこっちの方が面倒かもしれませんね。