サーバー経由のクライアントから組み込みLinuxへのSSH

サーバー経由のクライアントから組み込みLinuxへのSSH

パブリックIPアドレスなしでどこからでも組み込みLinux(Cと呼ばれる)に直接接続できるようにしたいです。

Cは(SSH -Rを使用して)サーバーへの接続を確立できます。サーバーにSSHを接続すると、組み込みLinuxでSSHを使用できます。

しかし、まずサーバーにSSHを接続しなくても、クライアントからCにSSHを接続できるようにしたいと思います。 (SSH -Rを使用してCからクライアントへの接続を確立することはできません。)

可能ですか?それではどうですか?

答え1

かなり簡単にこれを行うことができます。 1つの方法は、SSHのリモートポート転送を使用することです。これは、Cに次のようにサーバーにポートを再転送するように指示する方法です。

ssh -R 2222:localhost:22 server

Cで実行している場合、このコマンドはサーバーにポート2222への接続を取得し、それをポート22のCに転送するように指示します。

同様に、ファイアウォールルールを使用してサーバーでポート転送を設定できます。

答え2

転送されたポートに接続するには、次の4つが必要です。

  • サーバーのパブリックIP /ホスト名を最初の引数として指定します。それ以外の場合は、サーバーの外部からはっきりとアクセスできない-Rリスニングのみが行われます。localhost
  • GatewayPorts転送されたポートへの外部アクセスを許可するサーバーを構成します。
  • スイッチを使用すると、-gデフォルトでクライアントは同じ操作を実行できます。
  • 2222サーバーファイアウォールでポートを開きます。

コマンドは次のとおりです。

ssh -g -R server:2222:localhost:22 server

関連情報