2つのパブリックIP(192.168.0.1と192.168.0.2)を持つVPSがあります。
2番目のIPにバインドされたVPSのルーターのローカルトンネルを設定し、別のコンピュータを介してアクセスしようとしています。私は次のことを行います -
# ssh -g -L 192.168.0.2:22:remote_machine:22 remote_machine
その後、コーヒーショップでノートパソコンで192.168.0.2にアクセスしようとしましたが、タイムアウトしました。何が起こりますか?これが私が解決した問題です -->
私のVPSのSSHサーバーは192.168.0.1でのみリッスンします。 aを実行すると正しい結果が
netstat - plant |grep LISTEN
表示されますtcp 0 0 192.168.0.1:22 0.0.0.0:* LISTEN 603/sshd
。 603は実際にSSHDのプロセスIDである。上記のポート転送を実行する
netstat -plant | grep LISTEN
と、tcp 0 0 192.168.0.2:22 0.0.0.0:* LISTEN 1416/ssh tcp 0 0 192.168.0.1:22 0.0.0.0:* LISTEN 603/sshd
そして1416は私が呼び出したプロセスIDですssh
。
selinuxが無効
iptables -L
何もリストされていません。どのようなファイアウォールもありません。ssh 192.168.0.2
VPSでこれを行うことができ、正常にインポートされましたremote_machine
。ただし、VPS外部(私のコーヒーショップ)では同じ動作が得られません。/etc/ssh/ssh_config
、、/etc/ssh/sshd_config
すべての項目$HOME/.ssh/config
に行が含まれているため、このオプションGatewayPorts yes
も使用します。-g
実際にすべての組み合わせを試しましたが、まだリモートシステムからローカルフォワーディングポートにアクセスすることはできません。ssh
私と一緒に走ったときに-vvv
見た - >debug1: Local connections to 192.168.0.2:22 forwarded to remote address remote_machine:22 debug3: channel_setup_fwd_listener: type 2 wildcard 0 addr 192.168.0.2 debug1: Local forwarding listening on 192.168.0.2 port 22.
ただし、ポートに接続しようとすると、何も通知されません。
私は特権ポートを持つルートと高い番号のポートを持つ非ルートユーザーとしてこれを試しました。同じ行動。 VPS外部では接続できず、VPS自体でのみ接続可能です。
192.168.0.2でもリッスンするようにVPS SSHサーバーを設定すると、そのアドレスからVPSにアクセスできます。ただし、192.168.0.2のエンドポイントの1つとリモートシステムの他のエンドポイントを使用してトンネルを作成すると、トンネルはVPS内でのみアクセスでき、外部からはアクセスできません。
私が何を見逃しているのか知っていますか?