Bar*_*t B 11 ssh proxy mac-osx
我不确定这个问题是否最适合在 ServerFault 上或在 SuperUser 上。从逻辑上考虑,我认为这是一个系统管理员问题,所以我把它放在这里,如果模组认为它应该移动,那么为猜错道歉!
无论如何 - 我有一个异地服务器,我被困在一个私有 IP 上,除了通过 HTTP 代理或 SOCKS 4/5 代理之外无法访问网络。我正在运行 OS X,我希望来自终端的 ssh 命令以某种方式通过这两个代理之一工作以到达远程服务器。远程服务器上的 SSH 端口是非标准的,但我怀疑这会有很大的不同。
是的,这是可以做到的。有关一个示例,请参阅此站点。
基本上,您使用本地~/.ssh/config文件(或者/etc/ssh/ssh_config如果您需要它是系统范围的)为ProxyCommand您需要通过代理访问的主机指定指令。
您也可以使用nc(随 OS X 一起提供)而不是他们在该站点上提到的软件。
有关其他信息,请参阅手册页ssh_config(5)和nc(1)手册页。
我知道这是一篇古老的帖子,但我认为这个答案仍然会有所帮助:
您可以通过带有 NetCat (nc) 的 SOCKS 代理轻松完成此操作。在您的 ~/.ssh/config 中,您只需添加两行,一行指定要代理的主机,另一行告诉它如何通过 nc 连接。像这样:
~/.ssh/config:(在 OSX 上测试过,也应该在 Linux 上工作)
Host 10.*
ProxyCommand nc -X 5 -x PROXY_HOST:1080 %h %p
Run Code Online (Sandbox Code Playgroud)
将“PROXY_HOST”替换为适合您的设置的内容。
这会导致 ssh,而不是直接打开到目标主机的 TCP 连接(在这种情况下,任何以“10”开头的东西。 - 可以是 IP 或主机名),运行带有指定选项的“nc”命令来实际建立 TCP 连接,然后 SSH 从那里完成剩下的工作。非常便利。
"5" 是 SOCKS 版本,"1080" 是代理端口,"%h" SSH 替换为您在命令行中键入的主机,"%p" SSH 替换为命令行中的端口(或默认22)。
| 归档时间: |
|
| 查看次数: |
12155 次 |
| 最近记录: |