Ubuntu日本語フォーラム
ログインしていません。
初めて質問させていただきます。
自宅WEBサーバーからさくらのVPSにSSHリモートポートフォワーディングを接続し、自宅サーバーを外部に公開したいと考えています。
VPS側でもすでにWEBサーバーを動かしており、vpsサーバーのポート8080にアクセスしたときに自宅サーバーに接続できるようにしたいと考えています。
自宅サーバーから以下のようにしてSSHトンネルを掘りました。
ssh -R 8080:localhost:8080 user@vpsAddress
しかしブラウザからvpsのアドレス:8080でアクセスしたところ「ERR_CONNECTION_REFUSED」と出てアクセスできませんでした。
●確認したこと
・vps側で「tcpdump dst port 8080」で確認したところ、tcpの3ウェイハンドシェイクのうち、最初の接続要求しか確認できませんでした。
・ポートで待ち受けているアプリケーションが無いことが原因と思い、lsof -i :8080で確認してみましたが、sshdがリッスンしていました。
・切り分けのため、curl localhost:8080としたところ、自宅サーバーからの応答(html)が帰ってきました。
→ポート転送自体は問題なさそう
・トンネルを掘らない状態で、vps側でnc -l 8080とした上で、別のwindowsからpowershellで「Test-NetConnection VPSAddress -Port 8080」とした場合は通信は正常にできました。
→外部からvpsへのport8080へは到達可能。外部パケットフィルターの問題ではなさそう
・ufw statusも確認しましたが、8080ポートはALLOWとなっておりました。
・VPSのSSH設定ファイル(/etc/ssh/sshd_config)にあるGatewayPortsはyesに変更済みで、再起動済み。
ブラウザ経由でアクセスしたときにうまく自宅サーバーに繋がらない理由がよくわかりませんが、怪しそうな部分はあるでしょうか。
初歩的なところを見落としているかもしれませんが、アドバイスいただけましたら幸いです。
よろしくお願いいたします。
オフライン