三台虚拟机中有一台需要免密登录其他两台
虚拟机配置:
192.168.0.107 hmaster
192.168.0.108 hnode1
192.168.0.109 hnode2
1.配置hosts文件
vim /etc/hosts
192.168.0.107 hmaster
192.168.0.108 hnode1
192.168.0.109 hnode2
2.生成秘钥(每台机器都执行)
ssh-keygen -t rsa
之后一路回车,会在根目录下生成.ssh文件,know_hosts不会生成,该文件中存储的是已知的主机的公钥
.ssh文件夹下文件介绍
id_rsa 私钥
id_rsa.pub 本机公钥
authorized_keys 授权文件(被授予免密登录的机器的公钥)
known_hosts 访问过的计算机的ip、公钥等信息(访问远程机器时会进行核对)
3.拷贝远程机器的公钥
拷贝公钥时,需要输入远程机器的密码。拷贝完成后,以后ssh登录就不需要密码了。
ip地址为我们要远程免密登录的主机ip
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.0.107
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.0.108
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.0.109
4.ssh简单的操作
# 远程登录
ssh root@hnode1
# 在远程机器上执行一些命令
ssh root@hnode1 "hostnamectl"