我知道如何在命令上转发SOCKS代理,如下所示
ssh -D port_number user@host
这很好但我希望能够将该转发放入我的SSH config
文件中。但我无法找到任何有用的信息或教程。
我在配置中有一堆普通的SSH配置文件,所以我更喜欢将转发附加到SSH配置文件。
答案 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
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命令时,在第二种情况下它是相对于刚刚登录的服务器。
是的,我经常使用它。 ;)