在做集群的时候是需要SSH互信的,另外也利于在另一节点操作方便
1.在Node1中生成公钥和私钥对
1
2
3
4
5
6
7
|
[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.在Node2上创建.ssh目录并设置权限
1
2
|
[root@Node2~]
# mkdir /root/.ssh/
[root@Node2~]
# chmod 700 .ssh/
|
3.将公钥传送到Node2上,这样在Node1上就可以免密码登录Node2了
1
2
3
|
[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
|
或者也可以直接使用
1
|
[root@node1 ~]
# ssh-copy-id -i .ssh/id_rsa.pub root@node2
|
现在我们已经可以在Node1上免密码登录Node2了
如果出现
1
2
3
4
5
|
[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
执行
1
|
yum -y
install
openssh-clients
|
这时最好在Node2上执行:
1
2
|
[root@node2 ~]
# touch /root/.ssh/authorized_keys2 (如果已经存在这个文件, 跳过这条)
[root@node2 ~]
# cat /root/.ssh/authorized_keys >> /root/.ssh/authorized_keys2 (将authorized_keys的内容追加到 authorized_keys2 中)
|
这里在Node2上新建authorized_keys2文件,并将authorized_keys文件追加到authorized_keys2文件里是为了如果需要在多台机器上进行互信,则可能会将authorized_keys文件覆盖,现在直接将所有公钥都放在一个文件里头
另外再在Node2上也生成公钥和私钥对,将公钥传至Node1上
本文转自 rong341233 51CTO博客,原文http://blog.51cto.com/fengwan/1405466链接: