1. 方法1(此方法可能不行)
1、卸載重裝一遍ssh服務(自帶的不好用)
sudo apt-get remove openssh-server
sudo apt-get install openssh-server
2、編輯sshd_config文件
sudo vim /etc/ssh/sshd_config
在此位置添加如下內容:
PermitRootLogin yes #如果需要用 root 直接登錄系統則此處改為 yes
PasswordAuthentication yes #表示使用帳號密碼方式登錄
為了安全可以把默認端口Port 22改為其它值。
3、啟動ssh服務
sudo service ssh start
4、查看WSL IP地址
ip addr show
#或
ifconfig
5、Putty/Xshell中輸入WSL IP和端口號(默認:22)連接。本例中既可以用WSL IP 192.168.1.3連接,也可以用本機回路IP 127.0.0.1連接。推薦使用本機回路IP連接,因為不會變,而WSL IP可能隨着Win10系統重啟而改變。如果使用127.0.0.1無法連接,參看方法2。
6、配置ssh服務隨Win10自啟動
上邊雖然讓Xshell連接上了WSL,但是每次Win10重啟后,ssh服務不會自動運行,需要打開WSL(例如:Ubuntu-20.04 LTS)終端啟動ssh服務,然后再打開Xshell連接,十分麻煩。可以配置讓ssh隨Win啟動而啟動。參看:WSL2服務自啟動 / WSL ssh 開機自啟
2. 方法2(此方法一定可行)
參考網址:
1、先按照方法1操作完1~3步
2、給WSL Ubuntu和Win10添加固定ip
1) 臨時生效:
在Windows 10中,以管理員權限運行cmd或Windows Powershell,然后執行以下兩個命令:
#在Ubuntu中添加IP地址192.168.50.16,名為eth0:1
wsl -d Ubuntu-20.04 -u root ip addr add 192.168.50.16/24 broadcast 192.168.50.255 dev eth0 label eth0:1
#在Win10中添加IP地址192.168.50.88
netsh interface ip add address "vEthernet (WSL)" 192.168.50.88 255.255.255.0
然后,可用192.168.50.16訪問Ubuntu,192.168.50.88訪問Win10。
2) 開機自動設置:
①方法1:
a、「開始 > 運行 > 輸入:shell:startup」
b、在此啟動目錄下建立一個wsl_ip.bat腳本,添加如下內容:
@echo off
:: 獲取管理員權限
setlocal
set uac=~uac_permission_tmp_%random%
md "%SystemRoot%\system32\%uac%" 2>nul
if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else (
echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"
echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"
echo WScript.Quit >>"%temp%\%uac%.vbs"
"%temp%\%uac%.vbs" /f
del /f /q "%temp%\%uac%.vbs" & exit )
endlocal
:: 給WSL Ubuntu和Win10添加固定ip
wsl -d Ubuntu-20.04 -u root ip addr add 192.168.50.16/24 broadcast 192.168.50.255 dev eth0 label eth0:1
netsh interface ip add address "vEthernet (WSL)" 192.168.50.88 255.255.255.0
因為netsh interface ip add address "vEthernet (WSL)" 192.168.50.88 255.255.255.0這條命令必須以管理員身份運行,所以此腳本的上邊一段代碼是首先獲取管理員運行權限,然后才開始執行設置ip相關的命令;
c、因為此腳本放在啟動目錄下,所以Win10啟動的時候會自動運行此腳本設置ip,就可以用Xshell通過192.168.50.16訪問WSL Ubuntu了;
d、此方法缺點:每次開機運行此腳本時都會彈出一個黑窗然后自動關閉,不是很優雅。
②方法2:
通過BatToExeConverter.exe把上述腳本轉換成wsl_ip.exe,然后放入啟動目錄下,開機之后就不會彈出黑窗了,比較完美。
操作步驟:
5、配置ssh開機自啟參看方法1的步驟6。
附件:33-S-BatToExeConverter.zip
>> 附件獲取地址見右側博客公告