首次运行Slurm作业遇SSH报错及二者关联问题咨询
解决Slurm作业启动时的SSH相关错误
问题分析
你的脚本和可执行文件没调用SSH,但Slurm集群在调度、启动作业的过程中,内部可能依赖SSH完成节点间的任务分发、资源同步等操作,因此会触发SSH相关的权限或验证错误。以下是具体解决步骤:
1. 修复主目录与.ssh目录的权限
SSH对目录权限有严格限制,权限过宽会被拒绝访问:
- 主目录权限需设为
700或755(禁止使用777):chmod 700 ~ .ssh目录必须设置为700:chmod 700 ~/.ssh- 若
.ssh下存在authorized_keys文件,权限设为600;known_hosts文件设为644:chmod 600 ~/.ssh/authorized_keys chmod 644 ~/.ssh/known_hosts
2. 生成并配置SSH密钥对
Slurm集群通常需要无密码SSH登录节点,需完成密钥对生成与授权:
- 生成密钥对(推荐更安全的ed25519类型):
全程按回车使用默认设置,不要设置密码(若设置密码,作业启动时会因需要输入密码而停滞,需额外配置密钥代理)。ssh-keygen -t ed25519 - 同步公钥到计算节点:
若集群使用共享文件系统,公钥会自动同步到所有节点,无需额外操作;若没有共享文件系统,使用ssh-copy-id命令:
替换ssh-copy-id your_username@computenode_nameyour_username和computenode_name为实际用户名与计算节点名称。
3. 解决主机密钥验证失败问题
错误中的Host key verification failed是因为节点主机密钥未被信任,执行以下命令将计算节点的主机密钥加入信任列表:
ssh-keyscan computenode_name >> ~/.ssh/known_hosts
若不清楚具体计算节点名称,可联系管理员获取集群节点列表,或批量扫描所有节点密钥。
4. 验证SSH连通性
手动测试无密码登录计算节点:
ssh computenode_name
若能直接登录且无需输入密码,说明SSH配置正确,此时重新提交Slurm作业即可。
额外建议
若上述操作后问题仍存在,联系集群管理员确认:
- 集群是否启用LDAP、Kerberos等集中认证服务,是否需要额外配置
- Slurm的
UsePAM等相关配置是否有特殊要求
内容的提问来源于stack exchange,提问作者bob.sacamento
相关产品推荐
相关产品推荐

