一覧に戻る

macOSでポートフォワーディングしようとしたらハマった話

#Mac#SSH#ポートフォワーディング

結論

macOSではポートフォワーディングがデフォルトで許可されていないので、もししたいなら/etc/ssh/sshd_configの一部を修正する必要がある(下記のコメントアウトを解除して有効化する)。

#85行目
#AllowTcpForwarding yes

"#"を消してこの記述を有効にしましょう。

詳細

macOSでポートフォワーディングのためにsshコマンドで接続したのち、localhostの当該ポートにアクセスすると以下のようなエラーが発生する事がある。

channel 3: open failed: connect failed: No route to host
channel 3: open failed: connect failed: No route to host

ssh接続自体はできているのに…なぜだ…と調べていたら下記記事を発見。

https://qiita.com/isotai/items/f8ece84816f34eb515e5

リモートサーバーで/etc/ssh/sshd_configにAllowTcpForwardingが許可されているか確認する。コメントアウトされていたらコメント外してyesにします。

これはリモートサーバーについての言及ですが、今回の話は、ローカルサーバーからリモートサーバーへのポートフォワーディングの話なので、ローカルサーバーがAllowTcpForwarding yesである必要があります。ということで/etc/ssh/sshd_configを確認、すると冒頭のようにコメントアウトされていた事が判明。

sudo vi sshd_config

でコメントアウトを消して保存、無事ポートフォワーディング出来ましたとさ。