開啟win10下Ubuntu子系統的SSH服務 並設置為開機啟動


Win10中安裝Ubuntu子系統后默認是沒有開啟SSH服務的,需要手動配置開啟,

1。先通過 bash 進入子系統修改配置

vi /etc/ssh/sshd_config  備注 輸入i 表示鍵入, 按鍵(ESC)外加 冒號(:WQ) 退出保存

如果文件不存在說明尚未安裝,則執行安裝

apt-get install openssh-server

2.繼續修改配置,下面以密碼登錄的配置作說明:

Port = 22 # 默認是22端口,如果和windows端口沖突或你想換成其他的否則不用動
#ListenAddress 0.0.0.0 # 如果需要指定監聽的IP則去除最左側的井號,並配置對應IP,默認即監聽PC所有IP
PermitRootLogin no # 如果你需要用 root 直接登錄系統則此處改為 yes
PasswordAuthentication no # 將 no 改為 yes 表示使用帳號密碼方式登錄

 

如果PasswordAuthentication  為false, 上面的密碼框不可用, 所以建議為true,如果PermitRootLogin  為false,那么用root 用戶會提示拒絕密碼,


主要配置以上幾項即可 
3.然后啟動 ssh 服務

service ssh start

如果提示 sshd error: could not load host key 則需要重新生成 key

dpkg-reconfigure openssh-server

4.查看服務狀態

service ssh status
# * sshd is running  顯示此內容則表示啟動正常

5.passwd root # 設置下密碼

不要忘了,還要配置防火牆開啟端口才能被其他PC訪問
打開 Win10 防火牆設置,(可以通過右下角有個向上的箭頭點擊盾牌快速進入面板)Windows Defender 安全中心,點擊下方的高級設置,

最后效果如圖:

 

 

2.關於開機啟動我這里參考的是,我的Ubuntu 是18以上

https://www.cnblogs.com/vaynewang/p/10169134.html 

https://blog.csdn.net/toopoo/article/details/85733566

所以需要鏈接 rc-local.service 文件 然后創建 rc.local 文件並修改權限,大概是這樣的:

ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service 
touch /etc/rc.local 
chmod 755 /etc/rc.local 

然后編輯rc.local 大概格式是這樣的:

#!/bin/bash
service start ....
exit 0

注意 如果你的vbs文件 無法保存到 啟動文件下(win10 會提示什么權限), 那么可以把vbs文件放到其他地方, 創建快捷方式,然后把快捷方式 放到 啟動文件夾下


然而,WSL中並不支持通過rc.local 來實現開機啟動。在這有個偏方,可以通過windows 的啟動項來啟動 rc.local中的腳本。

win+r shell:startup <- 進入啟動目錄

創建一個VBScript腳本wls_rclocal.vbs
寫入內容 , 通過bash命令參數去執行rc.local
set ws=wscript.createobject("wscript.shell")
ws.run "C:\Windows\System32\bash.exe -c 'sudo /etc/rc.local'",0

注意 如果你的vbs文件 無法保存到 啟動文件下(win10 會提示什么權限), 那么可以把vbs文件放到其他地方, 創建快捷方式,然后把快捷方式 放到 啟動文件夾下


參考 文檔:

https://blog.csdn.net/zhouzme/article/details/81087837

https://blog.csdn.net/u012206617/article/details/83026777

https://gist.github.com/dentechy/de2be62b55cfd234681921d5a8b6be11


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM