ssh 隧道-绑定:无法分配请求的地址

ssh 隧道-绑定:无法分配请求的地址

尝试创建一个 socks (-D) ssh 隧道-Linux 机器到 Linux 机器(均为 centos):

sshd 在远程端运行正常。

从本地机器上我们可以做/看到以下情况:

ssh -D 1080 [email protected].
[email protected]'s password: 
bind: Cannot assign requested address

(其中 8.8.8.8 实际上是我的服务器的 IP,而“用户”是我真正的用户名)

我已在此终端窗口中登录到远程端。我可以通过以下方式验证本地端口在执行此命令之前未被使用,而在执行此命令之后被 ssh 进程使用:

netstat -lnp | grep 1080

因此,与大多数针对此错误的 google 搜索响应不同,问题似乎不是环回接口分配。如果我尝试将此隧道与邮件客户端一起使用,本地端允许尝试(无“代理失败”错误),但不返回任何数据/回复。

在远程端,我的 sshd_config 中确实有“PermitTunnel yes”(尽管“yes”应该是默认值)。

想法还是线索?

以下是相关的调试输出

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *

....

debug1: Authentication succeeded (password).
debug1: Local connections to LOCALHOST:1080 forwarded to remote address socks:0
debug1: Local forwarding listening on 127.0.0.1 port 1080.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on ::1 port 1080.
bind: Cannot assign requested address
debug1: channel 1: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.utf8

其他线索:如果我在运行 Windows 的客户端上运行虚拟盒,则在该盒中使用腻子打开一个隧道,该隧道到同一个远程服务器就可以工作。

更奇怪的是“如果我使用直接在 Linux 客户端上运行的 Putty(用于 Linux),它不起作用,即使设置与在同一客户端机器上的虚拟盒中的 Windows 上运行的 Putty 中可以工作的 Putty 设置完全相同?有什么不对劲...仍在尝试实验来弄清楚它是什么。

答案1

在这里关闭循环。在这种情况下,答案是强制 ssh 客户端使用 ipv4。例如

ssh -4 -D 8081 [email protected]

相关内容