11

ルーターの背後にあるマシンで SSH サーバーを生成しようとしています。

まず、SSH をパブリック IP アドレスにバインドしようとしました。

ssh -R 10002:localhost:22 <ip_address>

次に、パスワード要求が表示されますが、ユーザー名のパスワードが機能していないようです。

明らかに、ユーザー名のパスワードを知っているので、同じネットワーク内の別のコンピューターで認証しようとしているようです。

これを修正する方法はありますか?

また、ルーターにアクセスできない場合に、ルーターの背後に SSH サーバーを作成する方法の代替手段にも役立ちます。

iptables のポートはすべて開いています。

アップデート

Thomas Osterの回答で示唆されているように、私は次のことを試しました。

ルーターの背後にあるマシンで、次のコマンドを実行しました。

$ ssh -R10002:localhost:22 <remote_public_ip_address> -l <my_remote_server_username>

<remote_ip_address>私が完全に制御できるパブリックIPおよびSSHサーバーを持つサーバーのremote_ip_addressです。

<my_remote_server_username>リモートサーバーのユーザー名です。

その後、次のようにリモートサーバーからルーターの背後にあるサーバーに接続しようとしました:

$ ssh -p 10002 <remote_public_ip_address>

ただし、このコマンドは次の出力を表示します。

ssh: connect to host <remote_public_ip_address> port 10002: Connection refused

そこで、次のコマンドを使用して、iptables ファイアウォールで 10002 ポートを開きました。

sudo iptables -A INPUT -p tcp --dport 10002 -j ACCEPT

その後、コマンドを再度実行しましたが、同じエラー メッセージが表示されます。

ルーターの背後にある私のマシンでは、iptables ですべてのポートを開いています。

更新 2

remove_public_ip_address サーバーの /etc/ssh/sshd_config でポート転送を許可する必要があります

次のコマンドを追加して、sshd_config ファイルでポート転送を許可しようとしました。

LocalForward 10002 <my_remote_public_server_ip>:22

しかし、それは私にこのエラーメッセージを与えました:

Bad configuration option: LocalForward

「ssh -R....」の後、ウィンドウを開いたままにしましたか?

そのコマンドを実行した後、リモートのパブリック マシンに接続します。はい、ウィンドウを開いたままにしました。

トンネルが作成された後、公開サーバーで ssh -p 10002 localhost を使用できますか?

はい、公開サーバーでそのコマンドを実行すると、資格情報の入力を求められた後に接続されます。

ルーターの背後にあるマシンで「ssh localhost」を試して、sshd が実行され、機能しているかどうかを確認してください。

これも機能します。

更新 3

私はついにそれを機能させることができました (再びThomas Osterに感謝します)

次の 3 つのマシンで作業します。

宛先マシン: 接続したいマシン。

中間マシン: 接続の仲介者として機能するサーバー (私の場合は Linode)

ホーム コンピューター: 宛先マシンにアクセスする場所。

これらは私が従った手順です

ステップ1:

[destination computer]$ vi /etc/ssh/sshd_config

GatewayPorts オプションを追加します。

はい

ssh を再起動します。

ステップ2:

[destination computer]$ ssh -R 4040:localhost:22 middle-machine-user@middle-machine-public-ip

これにより、ポート 4040 経由でパブリック マシンが宛先コンピューターにリンクされます。

中間マシンに接続し、ターミナルにプロンプ​​トを表示します。このタブは開いたままにしておく必要があります。

ステップ 3:

自宅から接続:

ssh destination-user@destination-ip -p4040

または、中間マシンから接続します。

[home computer]$ ssh middle-machine-user@middle-machine-ip

[middle computer]$ ssh destination-user@localhost -p4040

ソース

4

3 に答える 3

5

パブリック「ip_address」で実行されている ssh サーバーはありますか? あなたがしようとしているのは、「「ip_address」への ssh 接続を開き、ポート 10002 の着信要求を localhost:22 にトンネリングすることです」。

「ip-address」が dsl-router のパブリック IP アドレスである場合、ルーターの構成でホストへのポート転送を作成する必要があります:22。

ルーターにアクセスできない場合、唯一可能なことは、インターネットで ssh を実行している別のサーバーにアクセスでき、そこからトンネリングできる場合です。

# open a session to the public available machine and create a tunnel from port 10002 back  to your local sshd (22)
ssh -R 10002:localhost:22 ip_of_public_server
# as long as this session is open, all calls to the public available machine on port 10002 will be tunneled to your local machine (make sure sshd is running on port 22)
ssh -p 10002 ip_of_public_server
于 2013-10-09T10:28:59.350 に答える