Zugriff auf eine WSL 2-Distribution über Ihr lokales Netzwerk (LAN)

Zugriff auf eine WSL 2-Distribution über Ihr lokales Netzwerk (LAN)

Ich habe eine Windows 10-Maschine mit WSL2 (auf der Ubuntu 22.04.1 LTS läuft) und eine Linux-Maschine im LAN der Windows-Maschine. Ich kann vom Windows-Host aus eine Verbindung zum SSH-Server herstellen, der in WSL läuft. Jetzt möchte ich mich von der Linux-Maschine aus mit der WSL oder von der WSL aus mit der Linux-Maschine verbinden. Jetzt gemäßdiese AntwortIch habe den folgenden Befehl in PowerShell auf meinem Windows-System ausgeführt:

netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=4000 connectaddress=192.168.101.100

wo 192.168.101.100ist die IP des WSL. Wie kann ich dann per SSH von der Linux-Maschine direkt zum WSL gelangen? Ich habe es versucht, ssh -p 4000 windowsHost@windowsAdressaber es funktioniert nicht:

#ssh -vvv -p 4000 windowsHost@windowsAdress
OpenSSH_6.7p1 Debian-5+deb8u8, OpenSSL 1.0.1t  3 May 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to windowsAdress [windowsAdress] port 4000.

... und da steckt es fest.

Antwort1

In deinemandere Fragezeigen Sie an, /etc/ssh/sshd_configdass der SSH-Server auf dem Standardport 22 läuft. Wenn dies der Fall ist, müssen Sie Ihre Portweiterleitung connectportwie folgt anpassen:

netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=22 connectaddress=192.168.101.100

Dadurch werden Verbindungen von Port 4000 auf dem Windows-Host an Port 22 auf dem WSL2-Host weitergeleitet.

Möglicherweise benötigen Sie auch eine Firewall-Regel, wie in den Kommentaren erwähnt. SiesollenNormalerweise erhalten Sie von der Windows Defender-Firewall eine Aufforderung, die Verbindung bei der ersten Verwendung zuzulassen.

Denken Sie daran, dass Sie die Portweiterleitung bei jedem Neustart (oder bei WSL2-Neustart) anpassen müssen, connectaddressda die IP-Adresse dynamisch zugewiesen wird. Es empfiehlt sich auch, die alten Portweiterleitungsregeln jedes Mal zu löschen. Aus diesem Grund finde ich es einfacher, SSH selbst für die Portweiterleitung zu verwenden. Ich werde hier nicht alle Schritte wiederholen, aber Sie finden die Details in"Option 2" dieser Antwort.

verwandte Informationen