如何使用“双”ssh 在远程 Linux 服务器上使用 Visual Studio 进行调试? [关闭]
Posted
技术标签:
【中文标题】如何使用“双”ssh 在远程 Linux 服务器上使用 Visual Studio 进行调试? [关闭]【英文标题】:How to debug using Visual Studio on a remote Linux server using "double" ssh? [closed] 【发布时间】:2020-07-30 04:06:02 【问题描述】:我正在尝试通过 Visual Studio 连接到 Linux 服务器以进行 c++ 开发以进行调试。服务器是一个计算集群,工作方式如下:
您有一个 ssh 门户,比如说 login@website.com,我使用我的用户名和密码登录。 但是要真正运行一个应用程序,我需要在我用来登录的 SSH 终端中执行ssh gpu-server
。然后在这台服务器上,我可以运行需要使用 gpu 的 c++ 应用程序。
我在使用 Visual Studio 时遇到的问题是,我可以将第一台服务器设置为连接管理器上的远程连接,并且它运行良好。但是我无法在此服务器上调试或编译任何东西,因为它没有 gpu(对于我的应用程序,我需要 GPU)。为此,我需要做第二个 ssh。但我看不到如何使用 Visual Studio 执行此操作。我尝试在配置上使用 before build 事件,但是当它执行命令 ssh gpu-server
时它只是挂起。
如何在 Visual Studio 上执行此“双重”ssh?
我不能直接连接到第二个,因为我不是该集群的管理员。
谢谢。
【问题讨论】:
这是一种非常奇特的约束。你不能把你的“第二台”机器作为主要机器,因为它有 GPU 吗? 不,我不能,因为它是计算集群上的一个节点,但除非您通过其他服务器登录,否则机器(节点)是不可访问的。 【参考方案1】:一种方法是设置 SSH 隧道,以便 Visual Studio 可以直接连接到您的目标计算机。
例如,如果您使用 Putty 作为 SSH 客户端,请转到“Connection”、“SSH”、“Tunnels”,将“Source Port”设置为 8000
,将“Destination”设置为 gpu-server:22
选择类型为“本地”。打开 ssh 会话后,Visual Studio 应该能够通过 localhost:8000
直接连接到 gpu-server
。
【讨论】:
这个问题与 SO 无关。将此类问题移至适合的站点会很好。回答与 SO 无关的问题会导致越来越多的滥用。 解决方案可能与编程无关,但“我如何在 Visual Studio 中调试”的问题肯定是 是的,你是对的,对不起。今天看到成千上万的“如何通过 ssh 连接......”让我快了。 我同意 Alan 的观点,起初我什至希望使用 Putty 来解决问题,我认为我在 Visual Studio 上缺少某种可以解决此问题的隐藏或模糊选项。我已经编辑了这个问题,以明确它与一般软件无关,而是与 Visual Studio 相关。谢谢艾伦的回答。这对我很有帮助。以上是关于如何使用“双”ssh 在远程 Linux 服务器上使用 Visual Studio 进行调试? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章