sshで認証をスキップする方法

sitecopyでssh/scpを用いてアップロードする方法がここにあったので, .sitecopyrcに所与の設定を追加したところ, うまく通るようになった. ただ し重大な問題が. scpでアップロードするファイルをコピーするたびに認証を 求められる. これじゃたまりません.

解決策の一つは, sftpを用いる方法. これだったら, ログイン時に一度認証す ればあとは転送が終了するまで問題なし. でも, 私はcronでsitecopyを走らせ ているので, それでも不十分. ということで, 認証を完全にスキップする方法 をとりました.

RSA認証鍵の交換

  1. ssh-keygenを用いてRSAキーを生成. パスフレーズは空にしておきます.
  2. できたid_rsa.pubをscpでリモートホストにコピー.
  3. リモートホストで
    cd .ssh
    touch authorized_keys2
    chmod 600 authorized_key2
    cat ~/id_rsa.pub >> authorized_key2
    rm ~/id_rsa.pub
    
  4. これで設定は完了. sshで再びリモートホストにログインして, パスワード を訊かれないかどうかをチェック.

追記

authorized_keyに登録するホスト名が問題. 私はB-FLETSを利用しているわけ ですが, 固定IPではないので, ホストを特定できません. で, 思いだしたのが, 無料DDNSサービス. 実はすでに利用しているので, DDNSホスト名を登録してお けば私のホストが特定できます. ということで, RSA公開鍵をコピーしただけ ではなく, ホスト名も修正しておきました.

参考