タイトル通り。sshコマンドの-Lオプションを勘違いしておりました。
- 環境:
- ローカル Mac
- リモート CentOS7(IPを10.100.100.1,ホスト名をCentOSと仮定)
- tiger-vnc 5901でListen
ssh -L 5000:CentOS:5901 -N user@CentOS
/etc/ssh/sshd_configも.ssh/configも見直していたが以下のエラーが出ていました。
channel 2: open failed: administratively prohibited: open failed
##参考にしたもの①
OSXでssh ポートフォワードするときに channel 1: open failed: administratively prohibited: open failed”
http://qiita.com/AKB428/items/7cd75bb25e6e9536adc4
こちらの通りやってみると上手く行きました。
ssh -L 10001:10.100.100.1:5901 -N user@CentOS
#参考にしたもの②
ここで間違いに気づく。
sshポートフォワーディング
http://qiita.com/mechamogera/items/b1bb9130273deb9426f5
どうしてと思っていたらこちらの記事のコメントで解決。
ローカルフォワードの場合、targetのホスト名の名前解決はremoteの中で行われるみたいですね。
ssh -L 5000:localhost:5901 -N user@CentOS
このようにするのが適切な書き方とわかりました。
#ちなみに
リモートのhostsに"127.0.0.1 CentOS"と書いて上げて
ssh -L 5000:CentOS:5901 -N user@CentOS
とするとちゃんと上手くVNC接続出来ました。