トンネル化されたSSH接続を介してVNC接続を作成すると、エラーが発生します。
channel 3: open failed: administratively prohibited: open failed
これは、トンネルVNC接続を使用して接続しようとしているホストのusername
としてローカルでホストにログインしていない場合にのみ発生することがわかりました。 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を起動して、ローカルにログインしなくてもアクセスできるように思えます。
お探しのオプションはAllowTunnel
ではありません(tun
デバイスを使用したVPNおよびレベル3転送用です)。 sshでTCPトラフィックのローカルおよびリモートポート転送を処理するAllowTcpForwarding
を探しています。
サーバーの値を確認し、yes
に変更します。
AllowTcpForwarding yes
このエラーの名前解決の原因がありました。私の/ 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 [email protected] -L 3456:127.0.0.1:5901
トンネルにlocalhostリテラルIPを使用していたときに、実際のIPがエラーを引き起こしたのは奇妙です。ディストリビューション:Ubuntu 16.04 LTS。