第一种方法:
1.
⽣成密码对
ssh-keygen
2.copy
到远程机器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@host
3.
登录
ssh host
第⼆种⽅法
1.
关闭防⽕墙和
SELinux
/sbin/service iptables stop
该命令可以关闭防⽕墙,但是当重启后,防⽕墙会重新开启,输⼊下⾯的命令,让防⽕墙在重启后也不会开启。
chkconfig --level 35 iptables off
关闭
SELINUX
vim /etc/selinux/config
编辑,令
SELINUX=disabled
。保存退出。⽴即⽣效。
分别在
host1
,
host2
上执⾏上述命令。
2.
修改
SSH
配置⽂件
vim /etc/ssh/sshd_config
找到下列⾏ 去掉注释井号
#
RSAAuthentication yes // 字⾯意思 .. 允许 RSA 认证PubkeyAuthentication yes // 允许公钥认证AuthorizedKeysFile .ssh/authorized_keys // 公钥存放在 .ssh/au.. ⽂件中
保存退出。
修改后需要重启
ssh
/etc/initd/sshd restart
分别在
host1
,
host2
上执⾏上述命令。
3.
⽣成密码对
ssh-keygen -t rsa
直接回⻋⼏次,可在默认路径
~/.ssh/
下⽣成私钥
idrsa
公钥
idrsa.pub
。
分别在
host1
,
host2
上执⾏上述命令
4.
⽣成
authorized_keys
将
host2
的公钥传到
host1
上。
在
host2
上输⼊
scp /root/.ssh/id_rsa.pub zhaodan@101.200.165.228:~/.ssh/id_rsa.pub.seed
以上命令⽬前还需要输⼊⽬标机⽤户密码。
在
host1
上输⼊
cd ~/.ssh/ls
查看
idrsa.pub.host2
是否已经传输过来。
cat id_rsa.pub >> authorized_keyscat id_rsa.pub.host2 >> authorized_keys
⽣成
authorized_keys
。
给
authorized_keys
修改权限
chmod 644 authorized_keys
利⽤
scp
把该⽂件传送到
host2
、
host3
的
.ssh/
下
scp authorized_keys hadoop@host2:~/.ssh/
5.
验证
测试在
host1
下输⼊
ssh host2exit
应该都不需要密码。 这两个互联都应该不需要密码