LAN(근거리 통신망)에서 WSL 2 배포에 액세스

LAN(근거리 통신망)에서 WSL 2 배포에 액세스

WSL2(Ubuntu 22.04.1 LTS 실행)가 설치된 Windows 10 시스템과 Windows 시스템의 LAN에 Linux 시스템이 있습니다. Windows 호스트에서 WSL에서 실행되는 SSH 서버에 연결할 수 있습니다. 이제 Linux 시스템에서 WSL에 연결하거나 WSL에서 Linux 시스템에 연결하려고 합니다. 이제 따르면이 답변Windows 시스템의 PowerShell에서 다음 명령을 실행했습니다.

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

192.168.101.100WSL의 IP는 어디에 있습니까? 그렇다면 Linux 시스템에서 WSL로 직접 SSH를 수행하려면 어떻게 해야 합니까? 시도했지만 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

당신의다른 질문, 기본 포트 22에서 실행되는 SSH 서버를 보여줍니다 /etc/ssh/sshd_config. 이 경우 포트 전달을 다음 connectport과 같이 조정해야 합니다.

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

이렇게 하면 Windows 호스트의 포트 4000에서 WSL2 호스트의 포트 22로 연결이 전달됩니다.

설명에 언급된 대로 방화벽 규칙이 필요할 수도 있습니다. 그러나 당신은~해야 한다일반적으로 Windows Defender 방화벽으로부터 처음 사용할 때 연결을 허용하라는 요청을 받습니다.

connectaddressIP 주소는 동적으로 할당되므로 재부팅할 때마다(또는 WSL2를 다시 시작할 때마다) 조정해야 한다는 점을 명심하세요 . 매번 이전 포트 전달 규칙을 삭제하는 것도 좋은 습관입니다. 이러한 이유로 SSH 자체를 사용하여 포트 전달을 처리하는 것이 더 쉽다는 것을 알았습니다. 여기에서 모든 단계를 반복하지는 않지만 자세한 내용은 다음에서 확인할 수 있습니다.이 답변의 "옵션 2".

관련 정보