SSHポート転送が失敗する原因は何ですか?

SSHポート転送が失敗する原因は何ですか?

私はqnap nasに設定​​していますが、syncthing現在nasのGUIを同じネットワーク上のラップトップに渡したいと思います。 GUIはnasポートで利用可能です8384

[~] # nc -zv 127.0.0.1 8384
localhost [127.0.0.1] 8384 (?) open

今すぐノートブックからこのサービスにアクセスするには、次を使用します。

ssh -p 50022 -L 9090:127.0.0.1:8384 admin@nasipaddress -v

,上記のようにここ-vデバッグ用に追加されました)これを行った後、私のラップトップブラウザで127.0.0.1:9090にアクセスすると、端末に次のエラーが表示されます(ターミナルは上記のコマンドsshで開いたnasに移動します)。

[~] # debug1: Connection to port 9090 forwarding to 127.0.0.1 port 8384 requested.
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: administratively prohibited: open failed
debug1: channel 3: free: direct-tcpip: listening port 9090 for 127.0.0.1 port 8384, connect from 127.0.0.1 port 36462 to 127.0.0.1 port 9090, nchannels 4

このメッセージは10回繰り返され、毎回ポートが36462増えます2。これはadministratively prohibitedいくつかの設定があることを示唆しているようです。 NAS自体について推測しているので、見てみましょう。しかし、使用されたポートがどこから36462来たのかわからない。

に応じて に設定sshd_configしましたが存在しません。AllowTcpForwardingyesPermitOpenこの問題、私がPermitTunnel yes追加しましたこの投稿。私の全体sshd_config

Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
PermitRootLogin yes
UseDNS no
Subsystem sftp /usr/libexec/sftp-server
AllowTcpForwarding yes
AllowUsers admin
PermitTunnel yes

設定を変更した後、SSHデーモンを再起動しました。

認証キーを使用しており、すべての行に次のものが.ssh/authorized_keys含まれています。ssh-rsa l0ngcrpt0grAph1cK3Y descriptive name

編集する: 新しい情報を反映して質問を書き直しました。

編集する:解決しました!
その結果、sshd_configsshデーモンが再起動すると、qnap nasへの変更はキャンセルされます。はい、わかりました。したがって、AllowTcpForwarding yes行を維持する唯一の方法は、次のように別の方法で追加することです。

setcfg LOGIN "SSH AllowTcpForwarding" TRUE

これするsshdを再起動してシステムを再起動した後も生き残ります。

答え1

sshdファイルを編集したsshd_config後、NASが再起動されましたか?それ以外の場合は、以前の設定を使用している可能性があります。

NASには、「管理禁止」ICMPエラーのある127.0.0.1からポート8384への接続試行に応答するソフトウェアファイアウォールがあるか、ポート8384のアプリケーション自体が同じことを実行できます。

または、sshdNASデバイスはポート転送機能なしでコンパイルされ、ファイルsshd_configに入力した内容に関係なく、ポート転送試行に「管理禁止」として応答できます。

関連情報