web-dev-qa-db-ja.com

ローカルホストからのみ機能するSSHローカルポート転送

HomePCからHost A ( 10.100.64.112)に直接アクセスできますが、Host B (172.88.3.31)に直接アクセスできません。 Host Bにアクセスするには、最初にHost Aにsshし、次にHost Bにsshする必要があります。

Host Bに直接アクセスするために、Host Aで次のコマンドを使用して、ローカルポート転送を使用してSSHトンネルを設定しようとしました

 Host A # ssh  [email protected] -L 4420:172.88.3.31:22

今、私はトンネルが機能しているかどうかを検証しようとしました

 Host A # ssh 10.100.64.112 -p 4420
 [email protected]'s password:

正常に動作し、Host Bに移動します

しかし、HOmePCから直接トンネルにアクセスすると、機能しません

    $  ssh 10.100.64.112 -p 4122
    ssh: connect to Host 10.100.64.112 port 4122: Connection refused

netstatで確認すると、次のように表示されます

$ Sudo netstat -an | grep 4420
tcp        0      0 127.0.0.1:4420              0.0.0.0:*                   LISTEN
tcp        0      0 ::1:4420                    :::*                        LISTEN

Host Bに直接接続するように提案してください。

3
Zama Ques

例で4122と入力していることを知っていますか?

試してみてください

-L *:4420:172.88.3.31:22

星印は、他のマシンから接続できないlocalhostではなく、すべてのアドレスでリッスンすることを意味します。

特定のIPにバインドすることもできますが、私の推測では*が必要です。

3
Martin
  • マーティンの答え はうまくいくはずです。

    • -L *:4420:172.88.3.31:22
    • または-L 0.0.0.0:4420:172.88.3.31:22
    • または-L [specific IP]:4420:172.88.3.31:22
  • 別の方法:

    • -L -g 4420:172.88.3.31:22
    • man ssh から参照

      -gリモートホストがローカル転送ポートに接続できるようにします。多重接続で使用する場合、このオプションはマスタープロセスで指定する必要があります。

3
zill057