ssh无密码连接

发布时间 2024-01-03 10:01:21作者: 单亚林

  在训练大模型的过程中,我们经常会遇见多机多卡的应用场景。大多数情况下,我们直接购买k8s服务或者使用hpc服务,我们不需要具体配置某些节点的信息。比如使用slurm,我们把sbatch命令整理好了提交就ok,至于节点可以在组建slurm网络的时候配置。基本上不会遇到需要自行配置ssh无密码连接的场景。

  公司刚组网了两台服务器,还没有使用slurm。我们先使用比较原始的多机多卡的方式训练模型,刚好学习配置一下ssh的无密码连接。命令很简单,但是有坑。

# 分别在两台机器上使用以下两条命令
ssh-keygen -t rsa
# 生成sshkey ,命令执行过程中需要输入三次回车。
# 不建议输入其他内容,尤其是第一次输入,会生成以输入字符串为名的文件。使第二条命令不加其他参数的情况下直接报错
ssh
-copy-id user@server
# 将本机sshkey 拷贝到服务器。实际上就是把本地密钥的公钥保存到了服务器
# 如a服务器,则使用ssh-copy-id user@server-b ,反之亦然。
# 尽量在ab两台服务器上使用同一个名字的账号

  然后测试一下 ssh user@server,无密码输入要求时说明配置成功。

  另外关于服务器的别名。可以在/etc/hosts文件中添加如下内容:

  124.123.122.121  worker0

  124.123.122.120  worker1

  在多机多卡的hostfile配置文件中直接使用别名来作为节点名称。