ssh-copy-idをmacで利用する。

以前、SSHでtrixbox(もちろんLinuxでもMACでもOK)にパスワードなしでログインする方法って記事を書いたら、結構アクセスも多いみたいやし、仲間からも参考にしたって声を良く聞く。
でも、良く良く聞いてみると、うまく行かなかったよ・・・って人もいるみたいで。


そういえば、Linuxにはssh-copy-idってコマンドあったよな〜って思い出して、試しにmacでやってみると無いみたい。
Linuxssh-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"
で行うところを

ssh-copy-id remotehost.com
ってすれば、RSA鍵を転送できます。
上でやっても、「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相手ならこっちの方が面倒かもしれませんね。