クライアントとホストが同じマシン上にある場合、SSHはどのように機能しますか? [閉鎖]

クライアントとホストが同じマシン上にある場合、SSHはどのように機能しますか? [閉鎖]

私はドッカーコンテナの助けを借りて私の問題を説明しましたが、この例は質問の残りの部分と直交しています。実際には、ブリッジインターフェイスの使用を許可するすべてのプログラムがssh可能です。

私は、フォアグラウンドで実行されているデーモンによって生成されたデーモンをsshdバックグラウンドで実行するDockerコンテナを使用します。supervisord私は、インストールを/tmp/.X11-unixコンテナに縛らず、ソケットをコンテナに完全にさらすことなく、X11配信を実装する安全な方法として主にsshを使用します。docker top containernameコンテナを起動してすぐに使用すると、次の結果が表示されます。

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                4732                535                 1                   19:56               ?                   00:00:00            /usr/bin/python /usr/bin/supervisord
root                4745                4732                0                   19:56               ?                   00:00:00            /usr/sbin/sshd

これは期待どおりに機能します。これで、コンテナのポート22をホストのポート5000に公開しています。したがってssh -X username@localhost -p 5000。クライアントとホストが異なるコンピュータであり、異なるネットワーク上にあるときにsshがどのように機能するかを知っていますが、クライアントとホストが同じコンピュータである場合、いくつかの問題があります(私の場合、クライアントは通常のシステムであり、ホストは一般的なシステムのコンテナです) 。 )。私はdockerが私の通常のコンピュータの物理ネットワークデバイスと私のコンピュータの仮想ネットワークデバイスの間にブリッジを作成することを知っています。

  1. しかし、一般的な機械とコンテナは正確にどのように互いに通信しますか?ブリッジングデバイスが割り当てたIPアドレスを介して使用して通信しますか?

  2. このプロセスに関連するポートはどのようにIPアドレスを使用する必要がなくなりますか?

  3. クライアントとホストが同じマシン上にあり、先ほど説明した方法で構成されているときにsshを使用する最も効率的で推奨される方法はありますか?

幅広いインターネット検索では十分な回答が得られませんでした。だからといって、そんなサイトが存在しないと断言することはできません!

ベストアンサー1

おすすめ記事