鍵認証による ssh を行おうとすると ssh する元のサーバで公開鍵を生成してそれを ssh 先のサーバに持って行って.ssh/authorized_keys
に追記しないといけない。めんどくさいなぁと思っていたんだが、ssh-copy-id
というコマンドで簡単にコピーすることができる。
ssh-copy-id の利用
引数にアカウント@接続先ホスト名を指定して実行する。これはssh接続するときと同じ。
~/.ssh/id_rsa.pubを渡す場合
ssh-copy-id ${USER}@${target_host}
-iオプションで任意の公開鍵を指定することもできる
ssh-copy-id -i ${identity_file} ${USER}@${target_host}
いつも使っていた方法
cat ~/.ssh/id_rsa.pub | ssh ${USER}@${target_host} "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"