我正在尝试通过 socks5 代理服务器使用 ssh 连接到远程 shell A。我试过了
ssh -o ProxyCommand='nc -X 5 -x socks5_proxy_ip:1080 %h %p' user@A
有什么我可能做错了吗?
你可能做错了什么?好吧,如果它不起作用,我将不得不假设。
安装 socat 并使用它在 SSH 和 SOCKS 代理之间传输数据。完成后,我在 SSH 配置文件中设置了命令。安装 socat 后,在 ~/.ssh/config 文件中配置如下内容:
Host sshsocks
Hostname a.b.c.d
User username
Port 22
CheckHostIP no
Compression yes
Protocol 2
ProxyCommand socat STDIO SOCKS4A:localhost:%h:%p,socksport=NNNN
将“sshsocks”更改为您要连接的服务器的主机名或昵称。将“abcd”更改为您要连接的服务器的 IP 地址。将“用户名”更改为您的用户名。将“NNNN”更改为 SOCKS 服务器的端口(根据您的示例,可能为 1080)。您可能想尝试通过 socat 使用 SOCKS4A 和 SOCKS5 连接。
有关其他 SSH 端口隧道或 X 服务器连接,请参阅 SSH 的手册页。