我已经在 Windows 上使用 SSH 隧道一段时间了(使用 Putty)。
在Windows上使用putty总是没问题的,但是在mac或者cygwin上有时会提示这样的警告信息:
open failed: administratively prohibited: open failed
答案1
我相信您已在服务器上禁用 TCP 转发。在您的服务器中, /etc/ssh/sshd_config
请确保以下行不存在或已被注释,否则请将其注释掉。
AllowTcpForwarding no
答案2
有一个更广泛的讨论在 Unix StackExchange 上使用 SSH 隧道时出现此错误。简而言之,这是一个非特定错误;有多种可能性需要探索。
答案3
如果 sshd 配置已经具有启用端口转发的所有选项,但仍然遇到此问题,请检查/var/log/secure
类似以下内容 -sshd: error: connect_to XXX: unknown host (Name or service not known)
如果 ssh 主机无法解析您想要建立隧道的主机,它将返回无法打开通道的一般错误。
仔细检查 ssh 服务器上的隧道主机名或 DNS 解析。
答案4
仅供后人参考,即使对你没有特别用处
错误通过 stderr 发送到您的控制台,因此如果您只想忽略它们,则将其添加2>/dev/null
到调用末尾ssh
即可。例如:
ssh -C -D 3210 example@connexion 2>/dev/null
如果代理隧道实际上运行良好,但您只是不想看到错误,那么这很有用。
就我的情况而言,我隧道连接的机器不是我的,所以我无法修改sshd_config
(这不是你的问题),而且我也使用相同的 shell 连接。在打开 vim 窗口时将这些错误消息写入我的控制台会使显示非常烦人。