SSH远程登录:两台或多台服务器之间免密登录设置

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

一、让服务器A实现免密登录自己

1、在A服务器中指定的位置(/root/.ssh)生成私钥id_rsa和公钥id_rsa.pub;
在服务器A操作

1 cd /root/.ssh
2 ssh-keygen -t rsa

一路回车键,可看到如下图生成的私钥和公钥,此时服务器A的私钥已经生成。
SSH远程登录:两台或多台服务器之间免密登录设置_第1张图片

2、在服务器A中把公钥id_rsa.pub追加到服务器A管理密码登录权限的文件(authorized_keys)中。

cat id_rsa.pub >> authorized_keys
SSH远程登录:两台或多台服务器之间免密登录设置_第2张图片

3、此时,服务器A可免密登录服务器器A了。验证:
SSH远程登录:两台或多台服务器之间免密登录设置_第3张图片

二、让服务器A实现免密登录服务器B

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

scp id_rsa.pub 192.168.2.25:/tmp
SSH远程登录:两台或多台服务器之间免密登录设置_第4张图片

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

 cd /root/.ssh
 cat /tmp/id_rsa.pub >> authorized_keys

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

登录已经不需要密码了。

三、让服务器B实现免密登录服务器A

和步骤二是一样的操作。

四、scp:不同主机之间传输文件

把本地文件/root/a传送到远程主机192.168.5.85的/root目录下,并改名为b

scp /root/a root@192.168.5.85:/root/b

用root把远程主机192.168.5.85上的目录/aa传送到本地主机/root下:

scp -r root@192.168.5.85:/root/aa /root

你可能感兴趣的:(linux)