在部署yarn等集群服务时,往往需要在各服务器之间实现ssh免密登录。记录一下步骤
1、修改hosts文件,给各服务器命名,方便互相访问
vim /etc/hosts
ip1 name1
ip2 name2
ip3 name3
2、根据服务器之间的访问需要,关闭防火墙或配置防火墙策略,确保相应的服务端口之间可以互访
#具体配置根据自己的需要配置
#如 1、将整个网段纳入到可访问白名单中
sudo firewall-cmd --add-sources=192.168.0.0/24 --zone=trusted --permanent
sudo firewall-cmd --reload
#或者 2、添加相应的端口
sudo firewall-cmd --zone=public --add-port=7788/tcp --permanent
sudo firewall-cmd --reload
#或者 3、关闭防火墙
sudo systemctl stop firewalld
3、使用ssh-keygen生成ssh密钥
#su切换到需要免密登录的账号,如果是root账号,确保系统允许远程登录root
ssh-keygen
#连续点击几次回车,生成密钥,密钥会被放到当前用户的家目录"~/.ssh/id_rsa"下。
4、使用ssh-copy-id命令将密钥复制到需要单点登录到当前服务器的其他服务器上
#如果提示没有ssh-copy-id命令,则需要先手动安装openssh-clients
sudo yum install -y openssh-clients
#使用ssh-copy-id 命令,复制密钥到需要免密访问本机器的服务器,注意一般也需要包括本机
#ssh-copy-id 用户名@服务器1 -p ssh端口
ssh-copy-id user@node1 -p 2200
ssh-copy-id user@node2 -p 2200
...
5、就这么简单,配置完成,ssh切换测试
```powershell
ssh user@node1 -p 2200
#如果上述步骤没有配置错误,就可以实现免密切换
...
1976





