Доступ к дистрибутиву WSL 2 из локальной сети (LAN)

Доступ к дистрибутиву WSL 2 из локальной сети (LAN)

У меня есть машина Windows 10 с WSL2 (работающая под управлением Ubuntu 22.04.1 LTS) и машина Linux в локальной сети машины Windows. Я могу подключиться с хоста Windows к серверу SSH, работающему в WSL. Теперь я хочу подключиться к WSL с машины Linux или к машине Linux из WSL. Теперь согласноэтот ответЯ выполнил следующую команду в PowerShell на моей системе Windows:

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

где 192.168.101.100IP WSL. Тогда как мне сделать SSH с машины Linux напрямую в WSL? Я пробовал, ssh -p 4000 windowsHost@windowsAdressно это не работает:

#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.

... и он там застрял.

решение1

В вашейдругой вопрос, вы видите свой /etc/ssh/sshd_configSSH-сервер, работающий на порту по умолчанию 22. Если это так, то вам необходимо настроить переадресацию портов connectportследующим образом:

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

Это позволит перенаправить соединения с порта 4000 на хосте Windows на порт 22 на хосте WSL2.

Вам также может понадобиться правило брандмауэра, как упоминалось в комментариях. Однако, выдолженОбычно при первом использовании брандмауэр Защитника Windows отправляет запрос на разрешение подключения.

Помните, что вам придется настраивать connectaddressкаждый раз при перезагрузке (или перезапуске WSL2), поскольку IP-адрес назначается динамически. Также хорошей практикой будет каждый раз удалять старые правила переадресации портов. По этой причине я считаю, что проще использовать сам SSH для управления переадресацией портов. Я не буду повторять все шаги здесь, но вы можете найти подробности в«Вариант 2» этого ответа.

Связанный контент