我需要在Visual Studio Code中通过REMOTE-SSH连接到一个拥有ssh的机器,但是需要从之前成功ssh登录过的特定机器进行连接。
我可以无问题地连接到第一个机器,问题出现在我登录第一个机器并尝试连接到第二个机器时无法连接。我一直在寻找解决方法,但我只能找到仅连接到一个机器而不经过其他机器的示例。
我可以无问题地连接到第一个机器,问题出现在我登录第一个机器并尝试连接到第二个机器时无法连接。我一直在寻找解决方法,但我只能找到仅连接到一个机器而不经过其他机器的示例。
多亏了我的合作伙伴,我找到了一个解决方案,它涉及对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
希望这能帮助其他有同样问题的人。
如果您使用的是 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
。
希望这能帮到你。
ProxyCommand ssh -q -x <代理机器名称> -W %h:22
。 - Anwarvic