快捷搜索: 王者荣耀 脱发

两台或多台服务器之间免密登录设置

目的:有两台(或多台)同局域网的服务器A:10.91.125.22,B:10.91.125.20。让A,B这两台服务器之间能两两互相免密登录,并且每台服务器都可以自我免密登录(自我免密登录即:ssh localhost 时不需要密码)。

整体思路: 1 让服务器A实现免密登录服务器B和免密登录自己 1.1让服务器A实现免密登录服务器B 1.2让服务器A实现自我登录(即,在服务器A上:ssh localhost 时不需要密码) 2 让服务器B实现免密登录服务器A和免密登录自己 2.1 让服务器B实现免密登录服务器A 2.2 让服务器B实现自我登录(即,在服务器B上:ssh localhost 时不需要密码)

3 A、B两台服务器能实现两两免密登录了,任意两台服务器的操作同理。即,可实现多台服务器之间两辆互相免密登录。

具体实现: 1 让服务器A实现免密登录服务器B和免密登录自己 1.1让服务器A实现免密登录服务器B <1> 在A服务器中指定的位置(/root/.ssh)生成私钥id_rsa和公钥id_rsa.pub; 在服务器A操作

# cd /root/.ssh
# ls

此时/root/ .ssh文件夹中没有文件

在服务器A操作

# ssh-keygen -t rsa

一路回车键,可看到如上图生成的私钥和公钥,此时服务器A的私钥已经生成。

# ls

<3> 把公钥id_rsa.pub复制到服务器A要免密登录的那台服务器(即B)中的指定位置(/root/.ssh); 在服务器A操作

# scp id_rsa.pub 10.91.125.20:/tmp

<4> 在服务器B中把公钥id_rsa.pub追加到服务器B管理密码登录权限的文件(authorized_keys)中。 在服务器B操作

# cd /root/.ssh
# ls

此时看到的id_rsa.pub就是步骤<2>中从服务器A中复制过来的

在服务器B操作

# cat /tmp/id_rsa.pub >> authorized_keys
# ls

此时,服务器A的公钥(登录服务器B的权限)追加到服务器B中的权限文件authorized_keys中,服务器A可免密登录服务器器A了。

此时,服务器A能免密登录服务器B了。原因:因为此时服务器B的密码登录权限文件authorized_keys中已经有服务器A的公钥,即A获得了B的登录权限。 验证: 在服务器A中操作

# ssh 10.91.125.20

这个时候,已经登录到服务器B中了,如果要返回服务器A,记得退出服务器B回到服务器A:

# exit

1.2让服务器A实现自我登录(即,在服务器A上:ssh localhost 时不需要密码) 在上述操作的基础上,直接在服务器A中把服务器A的公钥追加给服务器A的密码登录权限文件。

# ls
# cat id_rsa.pub >> authorized_keys
# ls

2 让服务器B实现免密登录服务器A和免密登录自己 上述步骤1中已经说明了一台服务器要免密登录其他服务器和自身免密登录的原理和操作,如果多台服务器要实现相互免密登录,依此类推。让服务器B实现免密登录服务器A和免密登录自己的思路原理类似以上1所述,不再赘述,直接附上代码 2.1 让服务器B实现免密登录服务器A 在服务器B操作

# cd /root/.ssh
# ssh-keygen -t rsa
# scp id_rsa.pub 10.91.125.22:/tmp

在服务器A操作

# cat /tmp/id_rsa.pub >> authorized_keys
# exit

2.2 让服务器B实现自我登录(即,在服务器B上:ssh localhost 时不需要密码) 在上述操作的基础上,直接在服务器B中把服务器B的公钥追加给服务器B的密码登录权限文件。

# ls
# cat id_rsa.pub >> authorized_keys
# ls

3 A、B两台服务器能实现两两免密登录了,任意两台服务器的操作同理。即,可实现多台服务器之间两辆互相免密登录

经验分享 程序员 微信小程序 职场和发展