動的IPを介してインターネットSSHを介して常に自分のシステムに接続するようにどのように設定しますか?

動的IPを介してインターネットSSHを介して常に自分のシステムに接続するようにどのように設定しますか?

デフォルトでは、SSHサーバー(マシンA)とSSHクライアント(マシンB)がインターネットにアクセスできる限り、ネットワーク構成に関係なくTeamViewerなどのタスクを実行できるようにしたいと思います。コンピュータC)、アクセス権を得ることができます。その理由は、コンピュータAを移動して接続し、事前に設定された複数のWi-Fiネットワーク(各ネットワークは一意または互いに異なる)の1つに自動的に接続できるようにしたいからです。ネットワークでポート転送または同様の機能を設定し、コンピュータBからインターネット経由でログインできます。

どうすればいいですか?ハンドシェイクを支援するために静的IPアドレスを使用してサーバーに何かを設定することは問題ありませんが、何かがすでに存在する場合(teamviewerのように)、サードパーティサーバーを使用してもかまいません。

明確にするために編集:ABとCという3つのコンピュータがあります。

Aは、任意の場所で電源をオン/オフし、事前設定されたWiFiネットワークに接続するヘッドレスラズベリーパイです.

Bは、接続したい適切なモニター、キーボードなどがあるシステムです。

Cは、静的IPアドレスを持ち、BでSSHを安定して使用でき、BがAに接続するために必要なすべてをインストールできるリースAWSサーバーです。

ベストアンサー1

インターネットにマシンCがあるので、そこに呼び出された特別なアカウントを作成し、公開/秘密鍵を使用してAにアカウントを生成すると、公開鍵をCのアカウントsesameにコピーしました。sesame

これでAからCにログインできますが、次のことができます。

ssh -N -R 19930:localhost:22 sesame@yourserverC

(たとえば、10秒間スリープステートメントと組み合わせてWiFiがシャットダウンして接続が切断された場合は、接続をリセットするために無限ループでラップできます。)

マシンBは通常Cにあるアカウントにログインします(それはそのアカウントかもしれませんが、必ずしもそうではありません。sesame私は別のアカウントを使用します)。 Cを入力したら、次のコマンドを使用してAにログインします。

ssh localhost -p 19930

もちろん、19930以外の数字を使用することもできます。

Aの秘密鍵がパスワードで保護されていない場合は、ssh -N -R ...次から実行できます。この場合、コンピュータAが侵害/盗難に遭った場合は、サーバーCのリスクが制限されるように機能が制限された別のアカウントを作成して/etc/rc.localください。sesameそのため、B から C に移動するには別のアカウントを使用することをお勧めします。

sesame実際にはinのログインシェルを/etc/passwdtoに設定できるため、/bin/falseこのアカウントを使用してログインすることはできません。

おすすめ記事