CentOS SSHパスワードフリーログイン(SSH相互接続)


クラスタ化にはSSH相互信頼が必要であり,また別のノードでの操作が便利である.
1.ノード1で公開鍵と秘密鍵のペアを生成する
[root@Node1~]# ssh-keygen -t rsa
Generatingpublic/private rsa key pair.
Enterfile in which to save the key (/root/.ssh/id_rsa):   
Enterpassphrase (empty for no passphrase):   
Entersame passphrase again:   
Youridentification has been saved in /root/.ssh/id_rsa.
Yourpublic key has been saved in /root/.ssh/id_rsa.pub.

公開鍵/秘密鍵ペアの作成が完了するまで、この期間は車を押してください.
2.ノード2に作成する.sshディレクトリと権限の設定
[root@Node2~]# mkdir /root/.ssh/
[root@Node2~]# chmod 700 .ssh/

3.公開鍵をノード2に転送することで、ノード1にパスワードなしでノード2にログインできる
[root@Node1~]# scp .ssh/id_rsa.pub Node2:.ssh/authorized_keys
root@Node2'spassword:   Node2(192.168.100.223) root  
id_rsa.pub                                   100%  392     0.4KB/s   00:00

あるいは直接使用することもできます
[root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node2

Node 1にパスワードなしでNode 2にログインできるようになりました
表示される場合
[root@Node2 .ssh]# ssh -copy -id -i id_rsa.pub root@Node1
-bash: ssh: command not found
 
[root@Node2 .ssh]# scp id_rsa.pub Node1:.ssh/authorized_keys
-bash: scp: command not found

Openssh-clientsがインストールされていないことを示します
実行
yum -y install openssh-clients

この場合、Node 2で実行したほうがいいです.
[root@node2 ~]# touch /root/.ssh/authorized_keys2  (          ,     )
[root@node2 ~]# cat /root/.ssh/authorized_keys   >> /root/.ssh/authorized_keys2 ( authorized_keys       authorized_keys2  )

ここでNode 2にauthorizedを新規作成しますkeys 2ファイル、authorized_keysファイルをauthorized_に追加keys 2ファイルには、複数のマシンで相互通信する必要がある場合、authorized_keysファイルが上書きされ、すべての公開鍵が1つのファイルに直接配置されます.
また、ノード2にも公開鍵と秘密鍵のペアが生成され、公開鍵がノード1に伝達される