> Linux集群 > 系统运维 >

SSH实现两台Linux主机无需密码互相登录

环境:有两台已经安装了ssh客户端的Linux机器:

172.20.0.100(机器名为SamuluIndex)

172.20.0.141(机器名为tixa)。

两台机器都有/root/.ssh目录。

现在要求100的机器无需密码登录141的机器。

 

步骤如下:

(一)在本机生成公钥和私钥

1)[root@SamuluIndex ~]# cd .ssh

2)[root@SamuluIndex .ssh]# rm -f * (清除.ssh目录下所有的旧文件)

3)[root@SamuluIndex .ssh]# ssh-keygen,过程中出现三个需要输入的地方直接按回车键

此时在.ssh目录下生成了id_rsa和id_rsa.pub。其中id_rsa是私钥,本机要用;id_rsa.pub是公钥,给其他的机器用。

 

(二)将公钥上传到远程主机上

[root@SamuluIndex .ssh]# scp id_rsa.pub root@172.20.0.141:/root/.ssh

按照提示输入远程主机(172.20.0.141)的密码后,可看到上传成功的提示:

id_rsa.pub                                    100%  398     0.4KB/s   00:00

 

(三)登录远程主机,将客户端公钥写入authorized_keys文件

[root@SamuluIndex .ssh]# ssh 172.20.0.141

Warning: Permanently added '172.20.0.141' (RSA) to the list of known hosts.

root@172.20.0.141's password: 

Last login: Tue Apr 29 21:09:27 2014 from 192.168.0.56

[root@tixa ~]# cd .ssh

[root@tixa .ssh]# cat id_rsa.pub >> authorized_keys

此时可在141机器的.ssh目录下看到两个文件authorized_keys和id_rsa.pub。其中id_rsa.pub的主要目的就是把公钥信息写到authorized_keys中,这里因为已经完成使命可以删除掉。

 

(四)退出远程主机,重新用ssh登录远程主机

此时发现在100机器上不需要密码就可以登录远程机器141

 

(五)若要实现两台linux主机之间的无密码登录,只需把上述的两台主机对调一下再操作一遍即可。

(责任编辑:IT)