以下に加えて、これも覚えておくといいかも。
- パスワード無しの認証ファイルを作る
$ ssh-keygen -d -f ~/.ssh/nopass-dsa -N ''
または$ ssh-keygen -d -f ~/.ssh/nopass-dsa -N '' -C you@your.example.com
-N ''
がポイントです。前者の場合、ssh commentは
$USER@$HOST
になりますが、最近はDHCPでホスト名を決めちゃう場合も多いので、それがいやな場合は後者の方法で決め打ちするのがいいでしょう。完了すると、
~/.ssh/nopass-dsa
と、~/.ssh/nopass-dsa.pub
の二つのファイルが出来ます。前者は絶対人に渡さないように注意してください。具体的には、自分の端末として使う(ノート)パソコンだけにこのファイルを置くようにするべきでしょう。ここで一度認証ファイルを作っておけば、あとは他のリモートホストには以降の手続きを繰り返すだけでOKとなります。
- 公開キーをリモートホストに登録する
すでにリモートホストへは、パスワードありでssh loginできるとして
$ ssh remote.example.com touch ~/.ssh/authorized_keys $ cat ~/.ssh/nopass-dsa.pub | ssh remote.example.com \ 'umask 077; test -d ~/.ssh || mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys'
で行けます。
- 実際にログインしてみる
これで、
slogin -i ~/.ssh/nopass-dsa remote.example.com
でパスワードなしログインが出来るようになっているはずです。
うまく行かない場合は
slogin -v -i ~/.ssh/nopass-dsa remote.example.com
として途中経過を確認してみてください。
うまく行ったら、
alias rlogin slogin -i $HOME/.ssh/nopass-dsa
などとして、r*コマンドを置き換えておくと便利です。
このtip、"ssh nopass"とかでぐぐると出ては来るのですが、protocol 1時代のものばかり引っかかるので、protocol 2がデフォルトになった現代用に少し近代化してみた次第です。
Dan the Man with too Many Remote Hosts to Login
追記:odzさん、添削ありがとうございます。Permissionの方は改訂しました。aliasの方はそのまま。s*とr*を切り替えて使いたいという需要があるので。
まぁ、その他の細かい話についてはググれば
http://www.jp.freebsd.org/QandA/HTML/2255.html
に辿り着くでしょうし。
当該ページの最終更新日は2002/08/24 06:22:44とかですが内容的には特に古びてもいないので。