文章目录
预备工作:
①开启两个虚拟机。
②修改主机名:
为了区分开两个虚拟机,我们分别把虚拟机的主机名修改为haha和xixi
[root@localhost ~]# hostnamectl set-hostname xixi
[root@www ~]# hostnamectl set-hostname haha
192.168.24.130是xixi
192.168.24.138是haha

实验一:虚拟机之间免密远程登录
1.1.在xixi这个虚拟机上生成证书
[root@xixi~]# ssh-keygen
因为我是在修改主机名之前生成的证书,所以,图片上的主机名还是默认的。
1.2.在xixi上把公钥放到haha上。
[root@xixi ~]# ssh-copy-id root@192.168.24.138
1.3.测试
[root@xixi ~]# ssh root@192.168.24.138
由图片可以看出,不用输入密码就可以登录到haha了。
如果需要在haha上免密远程登录xixi也是同样的操作。就直接放图了:
这样xixi和haha之间互相登录的时候都不需要密码了。
实验二.xshell证书登录
一般我们用xshell登录虚拟机都是通过输入密码登录的,现在我们把密码登录关了,用证书进行登录。
2.1在xixi上修改服务器的配置文件
我们去连接对方,对方就是服务器,我们自己就是客户端。
/etc/ssh/ssh_config 是客户端配置文件
/etc/ssh/sshd_config 是服务端配置文件
打开服务器配置文件,把PasswordAuthentication yes修改为PasswordAuthentication no
[root@xixi ~]# vim /etc/ssh/sshd_config
2.2重启服务
[root@xixi ~]# systemctl restart sshd
2.3测试
重新用xshell连接xixi。这时xixi就是服务端,所以在xixi上修改配置文件的时候是需要修改服务器的配置文件。
由上图可以看出不能用密码登录了。
2.4 用haha远程登录xixi把xixi的私钥放到windows下
因为现在xshell不能直接连接到xixi,所以就不能在xixi上面进行修改。所以我们可以通过haha远程登录到xixi。当然你也可以在xixi的虚拟机上的命令窗口上进行配置。
用window连接linux是把Windows的公钥放到linux。但是现在Windows上没有公钥,就把Linux的私钥放到windows。
[root@haha ~]# ssh root@192.168.24.130
[root@xixi ~]# cd .ssh
[root@xixi .ssh]# sz id_rsa
在弹出的窗口中。选择id_rsa文件需要放到的位置。我直接放到了桌面上。
2.5在xshell上注册
在xshell上点击工具选择用户密钥管理者。
在弹出的窗口选择导入,然后把我们的id_rsa 文件导入进来。、
2.6在xixi上把公钥放到文件中
[root@xixi ~]# cd .ssh
[root@xixi .ssh]# cat id_rsa.pub >> authorized_keys
2.7测试,证书连接xixi
ssh root@192.168.24.130
点击确认之后就可以用证书连接到xixi上了。
注意
实验一和实验二之间是一起做的,实验之间是有关联和影响的。