You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Slurm中从登录节点转发ssh-agent套接字至计算节点?

如何通过Slurm转发ssh-agent套接字到计算节点

当然可以实现,这种方式能让你无需在计算节点存放私钥,完全契合你的安全需求。以下是具体操作步骤:

操作步骤

  • 首先确认登录节点的ssh-agent套接字路径
    登录节点上已通过ssh -A完成代理转发,先查看当前的代理套接字环境变量:

    echo $SSH_AUTH_SOCK
    

    该输出会指向一个类似/tmp/ssh-XXXXXX/agent.1234的路径。

  • 通过Slurm提交作业时传递环境变量

    • 若提交交互式作业,使用srun时加上--export参数传递SSH_AUTH_SOCK:
      srun --export=SSH_AUTH_SOCK --pty bash
      
    • 若用sbatch提交脚本,可在脚本头部添加SBATCH参数:
      #SBATCH --export=SSH_AUTH_SOCK
      
      或者在提交脚本的命令行中指定该参数。
  • 验证转发是否成功
    进入计算节点后,执行以下命令查看代理中的私钥列表:

    ssh-add -l
    

    若能正常列出你的私钥信息,说明转发已生效。

注意事项

  • 确保计算节点与登录节点共享同一文件系统(如NFS),因为SSH_AUTH_SOCK指向的是登录节点上的套接字文件,计算节点需要能访问到该路径。
  • 不要手动修改计算节点上的SSH_AUTH_SOCK变量,保持Slurm传递的原值即可。
  • 此方式下,私钥始终保存在你的本地机器,仅代理连接被转发,能有效避免私钥在集群节点上暴露的风险。

内容的提问来源于stack exchange,提问作者Yuxuan Lu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 16:52:03