SSH免密登录

注: 各节点执行同样命令可以利用 pdsh 命令或for循环处理

  • 例如:在node[1-10]节点执行 id slurm 可用下述命令之一

  • pdsh: pdsh -w node[1-10] id slurm

  • for循环: for i in seq 1 10; do ssh node$i id slurm; done

1. 配置服务节点

1.0 进入服务节点的root

su root

1.1 关闭防火墙服务

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
#显示not running

1.2 修改hosts文件

nano /etc/hosts
# 填入
192.168.64.10 master master
192.168.64.11 node01 node01
# CTRL+X y 保存退出

1.3 退出root

exit

2. 配置计算节点

2.0 进入计算节点的root

ssh root@192.168.237.128
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
#显示not running

2.1 修改hosts文件

nano /etc/hosts
# 填入
192.168.64.10 master master
192.168.64.11 node01 node01
# CTRL+X y 保存退出

2.2 退出root

exit

3. 配置无密登陆

3.1 生成密钥

ssh-keygen -t rsa
# 一路回车

3.2 将公钥复制到其他节点

ssh-copy-id master
ssh-copy-id node01
# ssh-copy-id命令用于将本地计算机上的公钥复制到远程计算机的authorized_keys文件中,以实现无密码登录。当您使用ssh-copy-id命令时,它会将您的公钥添加到远程计算机的~/.ssh/authorized_keys文件中,这样您就可以使用私钥进行无密码登录。这对于自动化脚本、远程管理和配置管理非常有用。

3.3 测试

ssh master
ssh node01