First Try
リモート側のポートに対するアクセスを転送するには -R オプションを用いる.
$ ssh -N -R 1234:intraserv:4321 publicserv
これによって,publicserv のポート 1234 に対するアクセスが,このコマンドを実行したマシンから見た intraserv:4231 に転送される.
ただし,デフォルトでは publicserv のループバックアドレスのみとバインドされるので publicserv 以外からのアクセスが不能である.これは /etc/ssh/sshd_config に以下の行を設定することで解決できる.
GatewayPorts yes
Second Try
しかしそれではちょっと危険なので,ローカル→リモートのポートフォワーディングと組み合わせてみる.
/etc/ssh/sshd_config
を元に戻してから,先ほどと同様に
$ ssh -N -R 1234:intraserv:4321 publicserv
とする.publicserv においては localhost:1234 で intraserv:4321 にアクセスできるが,外部からは接続不能である.そこでアクセスしたいマシンで以下のようにする.
$ ssh -N -L 1234:localhost:1234 publicserv
これで万事OK.
0 件のコメント:
コメントを投稿