c++ - 如何使用“双”ssh 在远程 Linux 服务器上使用 Visual Studio 进行调试?
问题描述
我正在尝试通过 Visual Studio 连接到 Linux 服务器以进行 c++ 开发以进行调试。服务器是一个计算集群,工作方式如下:
- 你有一个 ssh 门户,比如说 login@website.com,我使用我的用户名和密码登录。
- 但是要真正运行我需要
ssh gpu-server
在我用来登录的 SSH 终端中执行的应用程序。然后在这台服务器上,我可以运行需要使用 gpu 的 c++ 应用程序。
我在使用 Visual Studio 时面临的问题是,我可以将第一台服务器设置为连接管理器上的远程连接,并且它运行良好。但是我无法在此服务器上调试或编译任何东西,因为它没有 gpu(对于我的应用程序,我需要 GPU)。为此,我需要做第二个 ssh。但我看不到如何使用 Visual Studio 执行此操作。我尝试在配置上使用构建前事件,但它只是在执行命令时挂起ssh gpu-server
。
我怎么能在 Visual Studio 上做这个“双重”ssh?
我不能直接连接到第二个,因为我不是该集群的管理员。
谢谢你。
解决方案
一种方法是设置 SSH 隧道,以便 Visual Studio 可以直接连接到您的目标机器。
例如,如果您使用 Putty 作为 SSH 客户端,请转到“Connection”、“SSH”、“Tunnels”,将“Source Port”设置为类似的内容8000
,将“Destination”设置gpu-server:22
为“Local”类型。打开 ssh 会话后,visual studio 应该能够直接连接到gpu-server
via localhost:8000
。
推荐阅读
- syntax - 如何在 SAS 中创建一个包含每个观察值的 Ridit 分数的变量?
- go - 将 gin.Context 转换为 context.Context
- javascript - 更新 redux 状态对象属性
- c# - 使用 DDD/Repo/UoW/Serv 的领域事件
- tensorflow - 使用 Tensor RT 为自定义分辨率优化 SSD Inception 模型时出错
- c++ - 插入多重集:在该值第一次出现之前而不是在最后一次出现之后
- swift - 如何使我的自定义字体支持粗体或放置多种字体?
- r - Extract part of string: date and times
- c# - 从数组中获取字符串或在一行中设置默认值
- sql-server - 在 pentaho CDE 中通过 jdbc 查询将字符串参数传递给 SQL