情況
我自己使用win11筆記本電腦,想要遠程win11服務器上的wsl2
我這里只有服務器安裝了wsl2,win11筆記本沒有安裝
因此下面提到的Ubuntu終端指的是win服務器上的wsl2終端
一定要區分是在哪里輸入命令!!
安裝SSH
在服務器上,打開Ubuntu終端
安裝ssh
sudo apt-get install openssh-server
啟動ssh
service ssh start
檢查ssh的狀態
sudo service ssh status
如果出現這行字說明ssh已經在運行了
在wsl2中設置ssh
以下命令在Ubuntu終端
執行:
更改sshd的配置
sudo gedit /etc/ssh/sshd_config
取消對應注釋且更改對應設置如下:
# 端口默認是22,可以改為指定的端口,此處改成3456
Port 3456
ListenAddress 0.0.0.0
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_keyPasswordAuthentication yes
PermitRootLogin yes
Port 3456 表示win服務器連接wsl2的端口
重啟ssh服務
sudo service ssh restart
以下命令在win服務器終端
輸入:
測試一下win服務器是否能夠連接連接wsl2
ssh id@wsl2_ip -p 3456
這里的id是ubuntu系統的id,于我而言是syh
wsl2_ip 指的是wsl的ip地址
這里的3456就是sshd_config設置的端口
正常情況下,可以連接成功,讓你輸密碼,然后顯示下面的圖片
設置端口轉發
win電腦訪問win服務器上的wsl2的方法是,先訪問wsl所在服務器(宿主)然后宿主通過指定的端口將訪問請求轉發給wsl2
以下命令在win服務器終端
輸入:
netsh interface portproxy set v4tov4 listenport=1758 connectport=3456 connectaddress=127.0.0.1
# listenport= port1 將port1設置為1758;表示其他電腦遠程win系統服務器的端口是1758;需要自己配置
# connectport=port2 將port2設置為3456;表示win系統服務器連接wsl2的端口是3456,需要配置成sshd_config中設置的端口;需要自己配置
# connectaddress=127.0.0.1:轉發的目標 IP 地址,這里是本地回環地址,表示將請求轉發到當前計算機上的另一個服務(如 WSL2);不用改
然后可以使用下面的命令(在win服務器終端
輸入),查看端口轉發成不成功:
netsh interface portproxy show all
表示訪問Windows服務器IP:1758 → 轉發到 WSL 的 3456 端口(WSL 的 SSH 服務)
然后設置防火墻設置入站規則,這里直接把防火墻都關閉,在win服務器終端
輸入
netsh advfirewall set allprofiles state off
重啟測試連接情況,在win服務器終端
輸入
wsl --shutdown
wsl
sudo service ssh restart
win電腦連接win服務器上的wsl2
以下命令在win服務器終端
輸入
ipconfig
下面的地址是win服務器的ipv4地址
然后回到你使用的win電腦
上,打開終端:
ssh id@win_ip -p port1
# 這里的id是ubuntu系統的id,于我而言是syh
# win_ip 指的是win系統服務器的ip地址!!!!!!!就是上面圖片中的地址
# 這里的port1就是1758,表示其他電腦遠程win系統服務器的端口是1758
如果連接不上:
去win服務器的ubuntu終端
上重啟ssh:
sudo service ssh restart
如果還不行,重啟win服務器,重啟大法好
win電腦上的vscode遠程win服務器上的wsl2
添加WSL插件
安裝遠程開發插件Remote Development和SSH
按照下面的圖操作,簡單的一批:
會要求你填入命令,格式就是前面提到的:
例如我這里就是 ssh syh@10.129.65.xxx -p 1758
然后回車,選這個:
然后出現這個:
我這里有兩個,是因為我還ssh了別的【我這里把wsl重命名為了wsl2】
ctrl+s進行保存,然后刷新后就會出現下面的結果:
點擊這個箭頭,遠程wsl2
因為我們的ssh是通往Ubuntu的,因此選擇liunx
這里輸入ubuntu的密碼:
打開ubuntu中的文件:
點擊OK:
完結!!!!!!!!