如何将袜子代理添加到ssh配置文件?

时间:2013-09-09 18:01:02

标签: ssh

我知道如何在命令上转发SOCKS代理,如下所示

ssh -D port_number user@host

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

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

3 个答案:

答案 0 :(得分:61)

使用配置设置“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

答案 1 :(得分:0)

我不建议使用socat,因为它仅支持socks4 但是你可以使用ncat

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

您可能需要检查ncat options是否无效。

答案 2 :(得分:-4)

这是如何完成的:

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,将“username”更改为您的帐户,可以根据需要更改端口号。

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

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