在 SSH 隧道上创建 VNC 会话时出现“通道 3:打开失败:管理禁止:打开失败”

在 SSH 隧道上创建 VNC 会话时出现“通道 3:打开失败:管理禁止:打开失败”

通过隧道 SSH 连接创建 VNC 连接时,出现错误:

channel 3: open failed: administratively prohibited: open failed

我发现只有当我没有像username我尝试使用隧道 VNC 连接连接到的主机那样本地登录主机时,才会发生这种情况。 SSH 隧道:

ssh -p 6000 -L 5901:127.0.0.1:5901 [email protected]

VNC连接:

vncviewer localhost:1

/etc/ssh/sshd_config我尝试过使用和不使用设置来调整设置AllowTunnel yes。 (我确实在每次更改后重新启动了 ssh service ssh restart:)但是,如果我在远程主机上运行本地会话(即我以本地身份登录),错误就会消失。username其他人是否看到此行为?看来我应该能够远程启动 VNC 并访问它,而无需在本地登录。

答案1

您正在寻找的选项不是AllowTunnel(它用于使用tun设备进行 VPN 和第 3 级转发)。您正在寻找AllowTcpForwarding,它处理 ssh 中 TCP 流量的本地和远程端口转发。

查看服务器中的值并将其更改为yes

AllowTcpForwarding yes

答案2

我有一个导致此错误的名称解析原因。我的 /etc/hosts 有一个错误的服务器名称 IP 地址(不适用于本地主机),如下所示:

127.0.0.1     localhost
192.168.2.45  server.domain.com server

但配置的服务器 IP(以及使用 host/dig 命令解析的 DNS 名称)是 192.168.2.47。由之前的 IP 重新配置引起的简单拼写错误。修复 /etc/hosts 后,隧道连接完美运行:

ssh [email protected] -L 3456:127.0.0.1:5901

奇怪的是,当我使用 localhost 文字 IP 进行隧道时,真实 IP 导致了失败。发行版:Ubuntu 16.04 LTS。

相关内容