问题
问题就是vscode在集群中调试的时候不能自动进入compute node
,而是停留在login node
- 假设你已经会通过 vscode 远程连接服务器
解决方案
- 1 通过命令 ssh 到集群
ssh cluster
- 2 在集群中authorized_keys添加本地笔记本或者台式机的
public key
- (windows系统的路径在
C:\Users\yourusername\.ssh\id_rsa.pub
,如果没有话可以在终端通过ssh-keygen -t rsa
命令生成,全按回车就行) - (集群中的 authorized_keys 在
~/.ssh/authorized_keys
)
- (windows系统的路径在
- 3 从集群中获取计算资源,也就是能够保证你在登录节点下
ssh gpunode
是成功的 - 4 获得计算节点的名字,这里假设是
gpunode
- 5 编辑本地笔记本或者台式机的 config 文件
# 登录节点的名字随便起
Host loginnode
# 登录节点的 ip
HostName 127.0.0.1
# 登录节点的用户名
User lihua
# 登录节点的 端口
Port 22
# 计算节点的名字随便起
Host computenode
# 这里的 name 是你在计算节点能够通过 ssh gpunode直接进入的
HostName gpunode
# 登录节点的用户名
User lihua
# 登录节点的名字,跟上面保持一致
ProxyJump loginnode
然后就可以通过本地直接连接到计算节点了!这样的话就没有在 debug 的时候依旧是在登录节点的烦恼了
结语
大家有问题欢迎留言,可以的话帮忙点个赞哦~~(#^.^#)
参考链接
https://stackoverflow.com/questions/60141905/how-to-run-code-in-a-debugging-session-from-vs-code-on-a-remote-using-an-interac