プロジェクト

全般

プロフィール

鍵交換によるパスワード無し認証

sshの公開鍵によるパスワード無しでの認証

手順

  • リモート元のサーバで次のコマンドを実行
    パスワードは入力しない
    ssh-keygen -t rsa
    
  • 公開鍵をリモート先のサーバに送る
    scp /root/.ssh/id_rsa.pub root@リモート先のIP:/root
    
  • リモート先のサーバで次のコマンドを実行
    cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
    rm /root/id_rsa.pub
    chmod 700 /root/.ssh/
    chmod 600 /root/.ssh/authorized_keys
    
以上でパスなしでのssh経由でのコマンド実行ができる。
  • リモート元で次のコマンドを実行し確認
    ssh root@リモート先
    

補足

デフォルト名以外のユーザ名や鍵、ポート番号を指定する場合、リモート元の次のファイルに設定を記入する。

スクリプトでsshコマンドのオプションをすべて指定しているが、途中で仕様変更でポートが変わるとか
鍵ファイルがデフォルト名ではないから別途指定しないといけないとか、そういうときに便利。

* リモート元のssh設定ファイルを変更
<pre>
.ssh/config
--------------------
Host 任意の接続名(ホスト名でなくてもよい)
    HostName     リモート先ホスト名
    user         root
    Port         22
    IdentityFile ~/.ssh/id_rsa
</pre>
* 次の接続名でログインができるようになる
<pre>
ssh 接続名
</pre>