はじめに
遠隔地にあるサーバー上で稼働しているNode-REDを覗く必要があるときやった。
あるマシン
こんな感じでサービスを動かす。自分は、systemdでやった。
# sshのポートフォワード。ssh は22番ポートから33022番ポートに変更してある。適用に 8023番ポートにリバースフォワードしてる /usr/bin/ssh -o ExitOnForwardFailure=yes -N -f -R 8023:localhost:33022 ReverseTunnel # 80番ポートを ReverseTunnelマシンの51880番ポートにリバース /usr/bin/ssh -o ExitOnForwardFailure=yes -N -f -R 51880:localhost:80 ReverseTunnel
ReverseTunnel マシン
「あるマシン」 の 80番ポートをLISTENしている
$netstat -l tcp 0 0 localhost:51880 *:* LISTEN
自分のPC
自分のPCからReverseTunnelにsshで繋げられる状態が前提。ReverseTunnel からみた 任意のhost の任意のポートを別ポートに転送する。ここでは ReverseTunnelのlocalhost の 51880番ポートを「自分のPC」の 8000番ポートに転送する。
$ssh -L 8000:localhost:51880 ReverseTunnel
ブラウザで http://localhost:8000
を開く
「あるマシン」 で動いているWebサイトが表示できる
参考
作業しているときにみたわけじゃないけど、下記の方が参考になるかも。