Linux两台主机用ssh无密码互相登录

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


    172.17.0.1(机器名为linux1)

    172.17.0.2(机器名为linux2)。

    两台机器都有/root/.ssh目录(这个目录是第一次远程登录其他主机时生成的)。

    现在要求1的机器无需密码登录2的机器。

步骤如下:

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

1
2
3
[root@linux1~]# cd .ssh
[root@linux1 .ssh]# rm -f * (清除.ssh目录下所有的旧文件)
[root@linux1 .ssh]# ssh-keygen

过程中出现三个需要输入的地方直接按回车键。

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

 

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

1
2
3
4
[root@linux1 .ssh]# scp id_rsa.pub root@172.17.0.2:/root/.ssh
按照提示输入远程主机(172.17.0.2)的密码后,可看到上传成功的提示:
id_rsa.pub                                    100%  398    
0.4KB/s   00:00

 

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

1
2
3
4
5
6
7
8
9
[root@linux1 .ssh]# ssh 172.17.0.2
Warning:
Permanently added '172.17.0.2' (RSA) to the list of known hosts.
root@172.17.0.2's
password:
Last login: Tue
Apr 29 21:09:27 2017 from 192.168.0.56
[root@linux2 ~]#cd .ssh
[root@linux2 .ssh]# cat id_rsa.pub >> authorized_keys

此时可在2机器的.ssh目录下看到两个文件authorized_keys和id_rsa.pub。其中id_rsa.pub的主要目的就是把公钥信息写到authorized_keys中。然后把两台主机中的id_rsa.pub都删除掉,否则这台机器将无法不用密码登录别的机器。

 

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

1
[root@linux1 .ssh]# ssh 172.17.0.2

此时发现在1机器上不需要密码就可以登录远程机器2,且在1的机器上的.ssh中保留了两个文件:id_rsa和known_hosts,在2的机器上的.ssh中保留了一个文件:authorized_keys。

 

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


  还有另外一种方法:

1
2
[root@linux1~]# ssh-keygen -t rsa
[root@linux1~]# ssh-copy-id -i .ssh/id_rsa.pub root@172.17.0.2

  哈哈..........还是第二种方法简单。j_0080.gif

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值