我在 Windows 上使用 SSH 隧道已经有一段时间了(使用 Putty)。
在带有putty的Windows上,总是可以的,但在mac或cygwin上,有时会提示警告信息:
open failed: administratively prohibited: open failed
我在 Windows 上使用 SSH 隧道已经有一段时间了(使用 Putty)。
在带有putty的Windows上,总是可以的,但在mac或cygwin上,有时会提示警告信息:
open failed: administratively prohibited: open failed
我相信您已在服务器上禁用 TCP 转发。在您的服务器
/etc/ssh/sshd_config
中,确保以下行不存在或未注释,否则请对其进行注释。在 Unix StackExchange 上使用 SSH 隧道对此错误进行了更广泛的讨论。简而言之,这是一个非特定错误;有许多可能性值得探索。
只是为了后代,即使它对你没有特别有用
错误会通过 stderr 发送到您的控制台,因此如果您只想忽略它们,添加
2>/dev/null
到您的ssh
通话末尾将完美地工作。例如:如果代理隧道实际上工作正常,这很有用,但您只是不想看到错误。
就我而言;我要隧道的机器不是我的,所以我不能修改
sshd_config
(不是你的问题),我也对 shell 使用相同的连接。在打开的 vim 窗口期间将这些错误消息写入我的控制台会使显示变得非常烦人。如果 sshd 配置已经具有启用端口转发的所有选项,但您仍然遇到此问题,请检查
/var/log/secure
以下内容 -sshd: error: connect_to XXX: unknown host (Name or service not known)
如果 ssh 主机无法解析您要通过隧道连接的主机,它将返回通用错误无法打开通道。
仔细检查 ssh 服务器上的隧道主机名或 DNS 解析。
这意味着 SSH 服务(在远程服务器上)不允许 SSH 代理转发 (
AllowAgentForwarding no
)。如果您无法更改远程服务器上的配置,您仍然可以 ssh 到一台服务器,然后再到另一台服务器。
通常你可以
ProxyJump
在你的 中使用选项.ssh/config
,但在这种情况下你不能。您可以尝试在客户端 (
ForwardAgent no
) 上强制禁用转发代理,这可能不起作用。假设你想通过 X SSH 到 Y 服务器,那么关于解决方法,你可以在 SSH 配置文件中定义以下部分:
加载后,您可以简单地运行:
ssh remotehost
.