SSHリバーストンネルをゲートウェイとしてNATからマシンに接続する

SSHリバーストンネルをゲートウェイとしてNATからマシンに接続する

ポート転送なしでNATを使用してネットワーク上のコンピュータにアクセスしたいです。

ポート転送なしのNATの後ろにある「オフ」マシンをRaspberryBと呼びます。このマシンは、ポート22のポート転送によって接続でき、ローカルIPが192.168.1.34のマシン(RaspberryA)のリバーストンネルを作成します。

だから私はRaspberryBでコマンドを起動しました。 ssh -R 43022:localhost:22 userA@addressRaspA

RaspberryAでは、リバーストンネルを介して再接続できます。

ssh userB@localhost -p 43022

効果がある

同じネットワーク上のPCでRaspberryAに接続してからRaspberryBに接続できます(Windowsではパテを使用していますが、それは重要ではないと思います)。

ssh [email protected] <<-- after this i'm inside RaspberryA

ssh userB@localhost -p 43022 <<-- after this i'm inside RaspberryB

今必要なことを達成しました。別のネットワーク上のPCからraspberryBにアクセスします。

しかし、、私はこれを1つの投稿として実行したいと思います... PCで次のコマンドを実行したい場合。

ssh [email protected] -p 43022

thgenマイコンピュータはRaspberryAのポート43022に接続する必要があります。これはRaspberryBのポート22にリダイレクトされるため、単一のコマンドでrapsberryBに接続できる必要があります。

しかし理解する」ネットワークエラー:接続が拒否されました。

(RaspAで)ポート43022でリッスンするようにsshを設定すると、PCが接続できるため、これはファイアウォールの問題ではないと思います。iptables-S出力

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
f2b-sshd   tcp  --  anywhere             anywhere             multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain f2b-sshd (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

それで、私は何が間違っていましたか? RaspberryAと同じネットワーク上のPCが最後のコマンドでraspberryBに接続できないのはなぜですか?

編集:言及するのを忘れました。 sshも開いてみました。 ssh -R 1.1.1.1:43023:localhost:22 pi@addressRaspA 1.1.1.1 このゲートウェイの作成に正しく使用されているのか、リモートホストがネットワーク上のすべてのPCに接続しようとしているのかはわかりません。それにもかかわらず、「接続が拒否されました」というメッセージが引き続き表示されます。

編集2:ネットワーク上のすべてのPCからraspberryBにアクセスできるようにしたいので、特定のIP用のリモートトンネルを作成することはオプションではありません。ネットワーク外でも動作している場合は、raspberryA ネットワークのルータでポート転送をオンにできます。

ネットワーク図

ベストアンサー1

解決済み:私が作成したエラー:

まず、1.1.1.1は「すべてのIP」ではありません。 0.0.0.0 はい。

次に、SSH構成で「GatewayPorts」を有効にする必要があります。

だから:

  1. /etc/ssh/sshd_configを編集して設定します。GatewayPorts clientspecified
  2. 次のコマンドを使用してリバーストンネルを開始します。 ssh -fN -R 0.0.0.0:43022:localhost:22 rasbberryA@addressRaspA

おすすめ記事