ssh で自動ログインを実装するため、鍵の作成から ssh-agentを使っての設定まで
host1.pictnotes.jp から host2.pictnotes.jp へ自動ログインするため
host1 の方で 公開鍵と秘密鍵の作成
ユーザーはとりあえずrootにしています。
[root@host1 .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
c1:46:d8:0c:f2:6d:d0:ba:9c:11:22:33:44:55:66:77 root@host1.pictnoes.jp
ssh-keygen コマンドで、公開鍵と秘密鍵を作成
-t rsa で rsa形式の秘密鍵の作成をしています。パスワードは空でも大丈夫ですが
できることならいれましょう。
通常、ホームディレクトリに .ssh のフォルダが作成され
そのなかに、
id_rsa (秘密鍵)
id_rsa.pub (公開鍵)
ができあがります。
公開鍵を host2.pictnoes.jp に登録
※この作業は host2です。
ユーザーは、pictnotes としておきます。
ホームディレクトリに .sshのフォルダがないなら作成
このとき、権限は 700 にしておくこと。
[pictnotes@host2 pictnotes]# pwd
/home/pictnotes
[pictnotes@host2 pictnotes]# mkdir .ssh
[pictnotes@host2 pictnotes]# chmod 700 .ssh
[pictnotes@host2 pictnotes]# ls -al
drwx—— 4 pictnotes pictnotes 4096 4月 16 18:56 .
drwxr-xr-x 8 pictnotes pictnotes 4096 4月 17 16:17 ..
-rw-r–r– 1 pictnotes pictnotes 191 4月 13 19:24 .bash_profile
-rw-r–r– 1 pictnotes pictnotes 124 4月 13 19:24 .bashrc
drwx—— 2 pictnotes pictnotes 4096 5月 7 14:53 .ssh
[pictnotes@host2 pictnotes]# cd .ssh
authorized_keys のファイルが無い場合は
[pictnotes@host2 .ssh]# touch authorized_keys
[pictnotes@host2 .ssh]# chmod 600 authorized_keys
[pictnotes@host2 .ssh]# ls -al
-rw——- 1 c21 c21 865 5月 7 14:53 authorized_keys
で作成。
公開鍵を authorized_keysに追加します。
すでにauthorized_keysがある場合は最後の行に追記します。
host1.pictnotes.jp と www.yahoo.co.jp の公開鍵がある場合こんな感じにファイルがなります。
[pictnotes@host2 .ssh]# cat authorized_keys
ssh-rsa HHHHHHHHHHooooooooooooooooooGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFUUUUUUUUUUgagagagagagagagaHHHHHHHHHHooooooooooooooooooGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEh1LYIR/H0VI1ImWAWs= root@host1.pictnotes.jp
ssh-rsa HHHHHHHHHHooooooooooooooooooGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFUUUUUUUUUUgagagagagagagagaHHHHHHHHHHooooooooooooooooooGGGGGGGGGGGGGGGGGEEEEEEEEEEEEEEEEEEEEEh1LYIR/H0VI1ImWAWs= tmp@www.yahoo.co.jp
実際は2行になります。
host1.pictnotes.jp 側の自動ログインの設定
※この作業は host1です。
[root@host1 .ssh]# ssh-agent > /root/sshenv
[root@host1 .ssh]# source /root/sshenv
とかしたら、無駄にssh-agentを立上げなくて済みます。
パスフレーズを追加する
※この作業は host1です。
ssh-agent で出力される環境変数が設定されていないとできません。
[root@host1 .ssh]# ssh-add
Enter passphrase for /root/.ssh/id_rsa: PASSPHRASE ¶
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
とかで、ssh-agent がおちるまで有効です。