以下の例では、チャンネル番号は何に対応していますか?サーバー上にあるのはどれですか?クライアントにはどちらがありますか?
$ ssh -L1570:127.0.0.1:8899 root@thehost
Password:
Last login: Fri Aug 9 13:08:44 2013 from theclientip
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
You have new mail.
# channel 2: open failed: administratively prohibited: open failed
channel 3: open failed: administratively prohibited: open failed
channel 2: open failed: administratively prohibited: open failed
sshクライアントはWindows 7で実行されており、サーバーにはポート8899で実行されているTomcatサーバーがあります。
Tomcatはリモートマシンで127.0.0.1をリッスンしていないため、コマンドをssh -L1570:thehostpublicip:8899 root@thehost
ポートフォワードに変更すると動作します。そのため、サーバー上でポートフォワーディングが正常に機能しているようです。
私のsshd構成ファイルには、次の2行が含まれています。
# Port forwarding
AllowTcpForwarding yes
# If port forwarding is enabled, specify if the server can bind to INADDR_ANY.
# This allows the local port forwarding to work when connections are received
# from any remote host.
GatewayPorts yes
Tomcatではなく別のプロセスのポート転送を設定しようとしていますが、上記のものと同様のエラーメッセージが表示されるので、エラーメッセージの意味を理解しようとしています。