远程SSH Visual Studio Code能否创建代理?

6
我需要在Visual Studio Code中通过REMOTE-SSH连接到一个拥有ssh的机器,但是需要从之前成功ssh登录过的特定机器进行连接。
我可以无问题地连接到第一个机器,问题出现在我登录第一个机器并尝试连接到第二个机器时无法连接。我一直在寻找解决方法,但我只能找到仅连接到一个机器而不经过其他机器的示例。
2个回答

11

多亏了我的合作伙伴,我找到了一个解决方案,它涉及对ssh的配置文件进行微小修改。

由于我在Windows上使用VS Code并且不想使用netcat,因此我实现了以下命令来创建代理:

Host <target-machine-name>
HostName <target-machine-ip>
User <user>
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -q -x <proxy-machine-name> -W %h:22

希望这能帮助其他有同样问题的人。


3
对我有效。配置文件位于~.ssh目录中。您可能需要为示例中的"<proxy-machine-name>"部分指定用户,例如"用户@ IP地址"。 - Jerry K.
在Linux系统上,几乎相同的命令是:ProxyCommand ssh -q -x <代理机器名称> -W %h:22 - Anwarvic

6

如果您使用的是 macOS 并想要在 socks 代理(127.0.0.1:1080)下通过 ssh 连接到机器 1.1.1.1:2222,那么您可以使用以下配置:

Host 1.1.1.1
    HostName 1.1.1.1
        ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p 
    Port 2222
    User YourName

如果你正在使用http代理或者使用Windows(Linux),请查看通过代理连接SSH。然后替换相应的ProxyCommand

希望这能帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接