带有用户名和密码的 SOCKS5 代理 – ssh:无法解析主机名,名称解析暂时失败

带有用户名和密码的 SOCKS5 代理 – ssh:无法解析主机名,名称解析暂时失败

我对 SSH 和 Ubuntu 还不太熟悉。我正尝试server1.com通过 SOCKS5 代理主机(例如)连接到服务器(例如proxy1.com),该主机的用户名和密码已给出。我在 SSH 配置文件中包含了跳转主机指令以及代理用户名和密码的路径,但到目前为止还没有成功,因为我总是收到错误:

无法解析代理主机名

我的.ssh/config文件格式如下:

Host host1
HostName server1.com
Port 22
ProxyCommand ssh username:[email protected] portnum %h %p

然后我用它ssh host1来启动会话。

谁能给我提供可能的解决方案?

答案1

ssh不接受您尝试的格式的密码,也不能使用 SOCKS 代理本身。代理命令应该使用ncat

ProxyCommand ncat --proxy socks4host --proxy-type socks4 --proxy-auth username:password proxy.com portnum

或类似的东西。

答案2

我在使用该命令时遇到了一些问题ncat- 看起来它错误地实现了 SOCKS5 协议,并且没有读取代理服务器响应的一部分,然后滑入 ssh 数据并中断 ssh 连接。我改用 Ubuntu 包connect-proxy

$ sudo apt-get install connect-proxy
$ SOCKS5_PASSWD=proxypassword ssh -o "ProxyCommand=connect-proxy -5 -S [email protected] %h %p" server1.com

相关内容