【问题标题】:How to add socks proxy to ssh config file?如何将 socks 代理添加到 ssh 配置文件?
【发布时间】:2013-09-13 07:03:22
【问题描述】:

我知道如何通过如下命令转发 SOCKS 代理

ssh -D port_number user@host

这很好用,但我希望能够将该转发放入我的 SSH config 文件中。但我找不到任何有用的信息或教程。

我在配置中有一堆普通的 SSH 配置文件,所以我更喜欢将转发附加到 SSH 配置文件。

【问题讨论】:

标签: ssh


【解决方案1】:

这样做是这样的:

Host server-fwd
Hostname a.b.c.d
User username
Port 22
LocalForward localhost:AAAA localhost:DD
LocalForward localhost:BBBB localhost:EEE
LocalForward localhost:CCCC localhost:FFFF

将“server-fwd”更改为您喜欢的任何名称,将“abcd”更改为您要连接的 IP,将“用户名”更改为您的帐户,如有必要,可以更改端口号。

LocalForward 行是您一直在寻找的行。中间列(即 AAAA、BBBB 和 CCCC)是您正在运行 ssh 命令的系统上的端口。右列(即 DD、EEE 和 FFFF)是您要连接的服务器上的端口。在这两种情况下都是 localhost,因为在第一种情况下是 ssh 命令在本地运行时,而在第二种情况下,它是相对于您刚刚登录的服务器。

是的,我经常使用它。 ;)

【讨论】:

  • 只是你知道你描述的不是我要求的。您描述了本地端口转发。我询问了动态袜子代理转发。
  • 一个本地socks代理通过其他地方的隧道处理东西,还是仅仅通过一个隧道到远程socks代理?因为答案因人而异?但真正简短的版本是后者是我给出的答案,而前者需要通过像 socat 这样的程序进行管道传输。如果是前者,我也可以为此挖掘示例配置。
【解决方案2】:

使用配置设置“DynamicForward”下面是一个简单的例子,它应该是什么样子:

Host example.com
    User username
    Port 22
    IdentityFile ~/.ssh/id_rsa
    DynamicForward 8080

如果 DynamicForward 选项只给出一个端口号,它将绑定到 localhost:port。您可以添加特定 IP 以使其绑定到 localhost 以外的地址。使用“*:8080”会将代理绑定到盒子上的所有 IP 地址。要使用 IPv6 地址,请将地址括在方括号中:

[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:8080

【讨论】:

  • 您能解释一下“端口 22”和 IdentityFile 的用途吗?为什么是 22,而不是 23?
  • @shuhalo:其他选项属于特定于该 ssh 连接的配置参数,因此可以设置为访问远程服务器所需的任何内容。与此问题相关的重要参数是DynamicForward 8080
  • @shuhalo,22 端口是 ssh 连接的默认端口,但可以在服务器上的 sshd 配置文件中进行配置。
【解决方案3】:

我不推荐使用 socat 因为它只支持 socks4 但是你可以使用 ncat

  1. 安装ncat
  2. 将此添加到您的 ssh 配置文件中ProxyCommand ncat --proxy-type socks5 --proxy 127.0.0.1:1080 %h %p

如果不起作用,您可能需要检查ncat options

【讨论】:

    猜你喜欢
    • 2010-12-23
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    相关资源
    最近更新 更多