在 Windows 上安裝 Linux 開發環境
在 Windows 上安裝 Linux 開發環境¶
點選「設定(Setting)」。
點選「應用程式(Apps)」。
點選「程式與功能(Programs and Features)」。
點選「啟用或關閉 Windows 功能(Turn Windows features on or off)」。
勾選「適用於 Linux 的 Windows 子系統(Windows Subsystem for Linux)」。
由 WSL 1 升級到 WSL 2¶
以系統管理員身分開啟 PowerShell 並執行:
PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
提示
更新至 WSL 2
若要更新至 WSL 2,您必須符合下列準則:
- 執行 Windows 10 (已更新為 1903 版或更高版本,組建 18362 或適用於 x64 系統的更高版本)。
- 如果您已使用 Windows 10 1903 或 1909 版,請確定您的次要組建編號為 1049 或更高版本。 請參閱微軟的完整疑難排解指示
- 執行 Windows 10 (已更新為 2004 版或更高版本,組建 19041 或適用於 ARM64 系統)。
- 請注意,如果您是 Windows 10 1903 或 1909 版,您必須確定您擁有適當的反向修補,可以在微軟找到相關指示。
- 若要檢查您的 Windows 版本,請選取 [Windows 標誌鍵 + R]並輸入 winver,然後選取 [確定]。 (或在 Windows 命令提示字元中輸入 ver 命令)。 如果您的組建低於 18361,請更新為最新的 Windows 版本。 取得 Windows 更新小幫手。
啟用「虛擬機器平臺」選用元件
在安裝 WSL 2 之前,您必須啟用「虛擬機器平台」選用功能。
以系統管理員身分開啟 PowerShell 並執行:
PowerShell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新啟動您的電腦,以完成 WSL 安裝並更新至 WSL 2。
將 WSL 2 設定為預設版本
在安裝新的 Linux 發行版本時,以系統管理員身分開啟 PowerShell,然後執行下列命令,以將 WSL 2 設定為預設版本:
PowerShell
wsl --set-default-version 2
訊息出現「For information on key differences with WSL 2 please visit https://aka.ms/wsl2 」
這是代表「Your system is all set, proceed with the following instructions here.」
也就是你的系統已經準備就緒,準備繼續接下來的指令。
注意
執行該命令之後,萬一看到此訊息:
「WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel 。 」
請遵循連結 ( https://aka.ms/wsl2kernel ),並從微軟的上的該頁面安裝 MSI,以在您的電腦上安裝 Linux 核心供 WSL 2 使用。 核心安裝好之後,請再次執行命令,命令應該就會順利完成,而不會顯示訊息。
手動更新 WSL 2 Linux 核心
提示
如果安裝程式找不到 WSL 1,請以滑鼠右鍵按一下 Linux 核心更新安裝程式,然後按 [解除安裝],然後重新執行安裝程式。
下載 Linux 核心更新套件
請下載最新的 WSL2 Linux 核心更新套件 (適用於 x64 電腦)。
提示
如果您使用的是 ARM64 電腦,請改為下載 ARM64 套件。
從 Microsoft 商店安裝 Ubuntu¶
搜尋關鍵字「Linux」,就會出現許多版本的 Linux ,在這裡選擇「Ubuntu」。
安裝您選擇的 Linux 發行版本
下列連結會開啟每個散發套件的 Microsoft Store 頁面:
Ubuntu 16.04 LTS
Ubuntu 18.04 LTS
Ubuntu 20.04 LTS
openSUSE Leap 15.1
SUSE Linux Enterprise Server 12 SP5
SUSE Linux Enterprise Server 15 SP1
Kali Linux
Debian GNU/Linux
適用於 WSL 的 Fedora Remix
Pengwin
Pengwin Enterprise
Alpine WSL
安裝完成後,就可以啟動 Ubuntu。
第一次啟動需要初始化幾分鐘。
初次登入的時候,會詢問使用者名稱及密碼。輸入成功後,就可以看到登入畫面。
為 root 設定密碼
在命令列中輸入「sudo passwd」,接著就進入設定 root 密碼的部分。
執行
sudo apt update
執行
apt list --upgradable
在 Ubuntu 中安裝 SSH¶
執行
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
執行
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
執行
sudo chmod 600 /etc/ssh/ssh_host_dsa_key
sudo chmod 600 /etc/ssh/ssh_host_rsa_key
執行
sudo apt-get install ssh
執行
sudo nano /etc/ssh/sshd_config
修改 /etc/ssh/sshd-config 檔案
- 將其中的 PermitRootLogin no修改為yes
- PubkeyAuthentication yes修改為no
- AuthorizedKeysFile .ssh/authorized_keys前面加上#遮蔽掉
- PasswordAuthentication no修改為yes就可以了
- 也可以不用輸入授權中的yes,但是需要修改本機配置。
- /etc/ssh/ssh_config 中的 StrictHostKeyChecking ask 改成 StrictHostKeyChecking no
執行
sudo /etc/init.d/ssh restart
執行
sudo ssh -i key root@localhost
執行
sudo apt install net-tools
安裝 ifconfig 的命令。
輸入
ifconfig
記住 inet 的 IP 地址,這是要由 Windows 連入的位址。
在這邊是使用「PuTTY」作為連線工具。
下載網址是 PuTTY
詢問金鑰是否接受為信任,按下「Yes」。
成功的從「Windows」的「PuTTY」登入到「WSL 2 的 Ubuntu」。
疑難排解¶
linux中ssh登入Permanently added (RSA) to the list of known hosts問題解決
- [root@www]# ssh admin@xxx.xxx.xxx.xxx
- The authenticity of host 'xxx.xxx.xxx.xxx can't be established.
- RSA key fingerprint is f4:d0:1a:9c:09:65:78:71:25:33:79:c2:d5:aa:0b:c1.
- Are you sure you want to continue connecting (yes/no)? no
- Host key verification failed.
- [root@www]#
如果是直接輸入yes,那就沒有問題
- [root@www]# ssh admin@xxx.xxx.xxx.xx
- The authenticity of host 'xxx.xxx.xxx.xxx' can't be established.
- RSA key fingerprint is f4:d0:1a:9c:09:65:78:71:25:33:79:c2:d5:aa:0b:c1.
- Are you sure you want to continue connecting (yes/no)? yes
- Warning: Permanently added 'xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
- Permission denied (publickey,gssapi-with-mic,password).
- [root@www]#
那輸入了 no 怎麼辦?
解決方法
- 可以把~/.ssh/known_hosts清除
- 如果還是不行,修改 /etc/ssh/sshd-config 檔案,
將其中的 PermitRootLogin no修改為yes,
PubkeyAuthentication yes修改為no,
AuthorizedKeysFile .ssh/authorized_keys前面加上#遮蔽掉,
PasswordAuthentication no修改為yes就可以了。
- 如果還是有問題,那就用下面的方式解決:
用命令 ssh -l username hostname
Ex. ssh -l root localhost
- Are you sure you want to continue connecting (yes/no)?
這個是ssh安全認證是的一個RSA認證。此處必須選擇yes才能連線。
第一次yes後,他會詢問你是否永久把這個RSA認證加入本地,選擇yes後,以後不會再出現提醒。
- 每次登入只需要輸入密碼即可。
- 也可以不用輸入1中的yes,但是需要修改本機配置。
- /etc/ssh/ssh_config 中的 StrictHostKeyChecking ask 改成 StrictHostKeyChecking no
Comments
Post a Comment