使用场景:目前有两台虚拟机:虚拟机a和虚拟机b,要实现可以在任意一台虚拟机上登录另一台虚拟机。
1、生成公钥和私钥
首先需要在两台虚拟机上生成公钥和私钥,使用如下命令:
ssh-keygen -t rsa
一路回车即可,直到看到下面的提示,则表示创建成功。
2、将本台虚拟机的公钥复制到另一台虚拟机上
例如,将虚拟机a的公钥复制到虚拟机b中,先存放在某个路径(这里是/opt)下,在虚拟机a中执行如下的命令。
scp /root/.ssh/id_rsa.pub 虚拟机b的ip:/opt
3、将公钥添加到服务器的注册中心
例如,将虚拟机a的公钥添加到虚拟机b的注册中心,在虚拟机b中执行如下命令
cat /opt/id_rsa.pub >> ~/.ssh/authorized_keys
到此,在虚拟机a中就可以免密码登录虚拟机b了
4、验证是否可以免密码登录
在虚拟机a中执行如下命令:
ssh 虚拟机b的ip
如果出现:Last login: Mon Jan 25 09:38:13 2021 from xxx.xxx.xxx.x说明登录成功。
要实现在虚拟机b中免密码登录虚拟机a,那么将上面虚拟机a中的命令在虚拟机b中执行,虚拟机b中的命令在虚拟机a中执行即可。