当前位置: > Linux服务器 > SSH >

linux SSH互信配置详解

时间:2014-11-30 15:24来源:linux.it.net.cn 作者:IT

今天同事让我写个脚本在一台机器上能起另外机器上的服务,首先我想到了SSH互信,下面让我们配置一下SSH互信。

我们准备在 web-1和web-2这两台机器上进行ssh互信配置:

 

首先,我们先了解一下ssh互信的原理,说白了,就是两台机器(web-1和web-2)经过预先设置好经过认证的key文件,双方互相访问时,进行自动认证,从而实现互信。

 

互信的原理了解了,我们可以把配置ssh互信的步骤进行有效的分割。

1.在要配置互信的机器(web-1和web-2)上生成各自经过认证的key文件。

2.将所有的key文件汇总到一个总的认证文件夹中。

3.将打包的key发给想要进行互信的机器(web-1,web-2)

4.互信的验证

 

经过分析,思路变的清晰了,下面我们动手来实际操作:

1.在两台机器上生成认证文件,就是ssh互信的认证文件,需要放在用户的home目录中,所以我们需要先创建这个目录,且保证这个目录的全县时755

[root@web-1 ~]# mkdir ~/.ssh

[root@web-1 ~]# chmod 755 ~/.ssh

[root@web-1 ~]# /usr/bin/ssh-keygen -t rsa #下面默认回车就行

[root@web-1 ~]# /usr/bin/ssh-keygen -t dsa

 

[root@web-2 ~]# mkdir ~/.ssh

[root@web-2 ~]# chmod 755 ~/.ssh

[root@web-2 ~]# /usr/bin/ssh-keygen -t rsa

[root@web-2 ~]# /usr/bin/ssh-keygen -t dsa

 

2.必须将每个主机上的公共密钥文件id_rsa.pub和id_dsa.pub的内容复制到其他每一个主机的~/.ssh/authorized_keys文件中。注意,当您第一次使用ssh访问远程主机时,其RSA密钥是未知的,所以提示确认一下,确认完毕后SSH将纪录远程主机的RSA密钥,以后连接该主机将不再做出相应的提示。

[root@web-1 ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

[root@web-1 ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

[root@web-1 ~]# ssh root@web-2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

[root@web-1 ~]# ssh root@web-2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

 

3.经过上述两步,在web-1上存了一份完整的key认证文件,我们只需要把这个目录拷贝到web-2这台机器的对应目录里去就可以了,别忘了把authorized_keys 的权限设置成600

[root@web-1 ~]# scp ~/.ssh/authorized_keys web-2:~/.ssh/authorized_keys

[root@web-1 ~]# chmod 600 ~/.ssh/authorized_keys

 

4.到此为止,互信配置完毕,检测一下是否成功。



 

(责任编辑:IT)
------分隔线----------------------------