如何建立SSH互信

来源:互联网 发布:ubuntu 添加桌面图标 编辑:程序博客网 时间:2024/05/02 01:46

如何建立SSH互信:假设有三台主机host1,host2,host3

(1) 关闭防火墙和SELinux

#/sbin/service iptables stop

该命令可以关闭防火墙,但是当重启后,防火墙会重新开启,输入下面的命令,让防火墙在重启后也不会开启。

#chkconfig --level 35 iptables off                                          

关闭SELINUX

#vim /etc/selinux/config  

编辑,令SELINUX=disabled。保存退出。 

立即生效。

分别在host1,host2和host3上执行上述命令。

(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和host3上执行上述命令。

(3) 生成密码对

$ ssh-keygen -t rsa     

直接回车几次,可在默认路径~/.ssh/下生成私钥idrsa公钥idrsa.pub。

分别在host1,host2和host3上执行上述命令

(4) 生成authorized_keys

将host2、host3的公钥传到host1上。

在host2上输入

$scp /home/hadoop/.ssh/id_rsa.pub hadoop@host1:~/.ssh/id_rsa.pub.host2

在host3上输入

$scp /home/hadoop/.ssh/id_rsa.pub hadoop@host1:~/.ssh/id_rsa.pub.host3

以上命令目前还需要输入目标机用户密码。

在host1上输入

$cd ~/.ssh/  $ls  

查看idrsa.pub.host2、idrsa.pub.host3是否已经传输过来。

$ cat id_rsa.pub >> authorized_keys$ cat id_rsa.pub.host2 >> authorized_keys $ cat id_rsa.pub.host3 >> authorized_keys     

生成authorized_keys。

给authorized_keys修改权限

#chmod 644 authorized_keys 

利用scp把该文件传送到host2、host3的.ssh/下

#scp authorized_keys hadoop@host2:~/.ssh/#scp authorized_keys hadoop@host3:~/.ssh/
(5) 验证

测试在host1下输入

$ssh host2   $exit$ssh host3   $exit  

应该都不需要密码。 这三个互联都应该不需要密码。

0 0
原创粉丝点击