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


10

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

channel 3: open failed: administratively prohibited: open failed

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

ssh -p 6000 -L 5901:127.0.0.1:5901 username@192.168.0.2

VNC连接:

vncviewer localhost:1

我尝试在/etc/ssh/sshd_config使用AllowTunnel yes和不使用设置的情况下调整设置。(在每次更改后,我都确实重新启动了ssh :)service ssh restart但是,如果我在远程主机上运行本地会话(即,我以username本地身份登录),该错误就会消失。还有其他人看到此现象吗?似乎我应该能够远程启动VNC并访问它,而不必也必须本地登录。


1
迈克,请检查此游览,以了解该站点如何工作,如果我的回答解决了您的问题,请接受。
雅库耶

Answers:


14

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

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

AllowTcpForwarding yes

感谢您的快速答复。这似乎已经解决了我的问题。我曾见过其他有同样的问题,一个建议是AllowTunnel yessshd_config,但这并没有为我工作。
Mike Swartz

1
这可能是一些城市传说,另外一个答案也来到了这里。不知道它是从哪里来的,因此很容易打开手册页并检查其含义。如果对您有用,请花一点时间检查答案,以作为帮助他人的解决方案。
Jakuje 2015年

1
为什么要下票?
雅库耶

AllowTcpForwarding 指定是否允许TCP转发。可用选项包括“是”或“全部”以允许TCP转发,“否”以阻止所有TCP转发,“本地”仅允许本地(从ssh(1)角度)转发,或“远程”以允许远程转发。仅转发。 默认值为“是”。
巴特·波洛


0

我有一个名称解析导致此错误。我的/ etc / hosts的服务器名称(而不是localhost)的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 user@server.domain.com -L 3456:127.0.0.1:5901

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.