如何通过代理连接到SSH?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (141)

我试图通过代理连接到我的虚拟服务器,但我无法连接,它只是挂起。我假设这是因为它没有通过我们的代理。

我在使用终端连接的OSX上运行。

如何通过SSH代理?

提问于
用户回答回答于

如果你的SSH代理连接经常使用,你不必每次都将它们作为参数传递。你可以将以下几行添加到~/.ssh/config

Host foobar.example.com
    ProxyCommand          nc -X connect -x proxyhost:proxyport %h %p
    ServerAliveInterval   10

然后连接使用

ssh foobar.example.com

资源:

http://www.perkin.org.uk/posts/ssh-via-http-proxy-in-osx.html

用户回答回答于

不需要文件编辑(用你自己的设置替换大写,PROXYPORT经常是80):

 ssh USER@FINAL_DEST -o "ProxyCommand=nc -X connect -x PROXYHOST:PROXYPORT %h %p"

你也可以-o ...对scp 使用相同的选项,请参阅https://superuser.com/a/752621/39364

如果你在OS X中得到这个:

 nc: invalid option -- X
 Try `nc --help' for more information.

这可能是因为你意外地使用了netcat的自制软件版本(你可以通过执行which -a nc命令来查看 - /usr/bin/nc应该先列出)。如果有两个,那么一种方法是指定你想要的NC的完整路径,如ProxyCommand=/usr/bin/nc...

扫码关注云+社区

领取腾讯云代金券