WSL での Linux ディストリビューション (Ubuntu 18.04 および 20.04) の分離

WSL での Linux ディストリビューション (Ubuntu 18.04 および 20.04) の分離

Windows 10 に、WSL を使用して Ubuntu 18.04 と Ubuntu 20.04 の 2 種類の Linux ディストリビューションをインストールしました。20.04 を ssh ポート 22 に、18.04 を ssh ポート 2222 に構成したいと考えています。これらの変更を行うと、どちらのディストリビューションにも影響しますか?

これらのディストリビューションをインストールすると、それらは分離されますか、それとも互いに影響しますか?

答え1

どちらか一方 (または両方) のシステムで、SSH ポートを好きなだけ変更できます。変更による影響はなく、システムは変更されたポート設定で正常に動作します。

SSHはあなたのシステムとのやり取り。内部プロセスはこれを使用しません。Ubuntu Desktop の標準インストールには SSH サーバーすら存在しません。

答え2

まあ、あなたの質問に答える「簡単な答え」はありますが、おそらくそれほど役には立たないでしょう。そして、「WSL で SSH サーバーを実行するために実際に必要なこと」があります。

他の人がすでに述べているように、簡単な答えです。各インスタンスは、比較的分離された状態で独自の SSH サーバーを運用できます。

長い答えは…それは複雑WSL で SSH サーバーを実行することは 1 つの方法です。しかし、実際にリモートで接続できるかどうかはまったく別の問題です。ポート転送、ファイアウォール、サービスの起動 (systemd がない場合、WSL ではうまく実行できない) について心配する必要があります。

まず、WSL での ssh の使用例を知っておくと役立ちます。

インスタンスにリモートアクセスしたいだけなら、Windows 10 OpenSSHサーバーをインストールするホスト自体でこれを実行します。これで、実際に必要な構成は、Windows ファイアウォールのポート 22 を開くことだけです。そのためのワンライナーは、インストール用に上記リンクされている Microsoft の手順に含まれています。

Windows に OpenSSH サーバーをインストールすると、以下を使用できます。

ssh -t <user@windows_host_or_ip> wsl -d <wsl_instance_name>

... を使用して WSL インスタンスにアクセスします。 は、-d <wsl_instance_name>デフォルトの WSL インスタンスには必要ありません。

しかし、WSL インスタンスへの SSH アクセスが必要な理由は他にもあるかもしれません。たとえば、私は Ansible を使用して、複数のマシンにまたがる WSL インスタンスの一部に接続し、構成しています。この場合、各インスタンスで「実際の」SSH サーバーが実行されている必要があります。

その場合、次のような解決策を考え出す必要があります。

  • Windows ホストから WSL2 インスタンスへのポート転送 (WSL1 のネットワークは Windows ネットワーク インターフェイスと「ブリッジ」されて実行されるため、ポート転送は必要ありません。)
  • 各インスタンスでサービスを開始するsshd(自動ではありません)

私の意見では、ここで最も簡単な解決策は、Windows OpenSSH サーバーをポート 22 にインストールし、各 WSL インスタンスを独自の OpenSSH サーバーで構成することですが、(もちろん) 異なるポートを使用します。その後、Windows ホストを「ジャンプホスト」として使用して、その中のインスタンスにアクセスできます。詳細な手順については、この答えスーパーユーザーについて。

sshdこれにより、「 WSL problem, because you can use a syntax similar to the earlier one I mentioned (using thewsl`コマンドで開始」の問題も解決されますを通してWindows ssh) を使用して、サービスをリモートで開始します。つまり、Windows SSH サーバーが自動的に開始するように設定されていれば、これを使用して WSL インスタンスの SSH サーバーのいずれかを開始できます。詳細については、その回答を参照してください。

こちらも読む価値があるこの答えWSL での一般的なポート転送シナリオについては、Super User をご覧ください。

関連情報