目錄
一,環(huán)境
二,關(guān)鍵步驟
三,詳細(xì)步驟
四,免密遠(yuǎn)程連接
五,參考鏈接
六,番外知識(shí)
一,環(huán)境
- Windows 11 家庭中文版
- VS Code 版本:1.80.2
- VMware? Workstation 16 Pro (版本:16.1.2 build-17966106)
- ubuntu-22.04.2-desktop-amd64
二,關(guān)鍵步驟
- Windows下安裝OpenSSH
- VS Code安裝Remote - SSH插件
三,詳細(xì)步驟
- 在Ubuntu上安裝SSH服務(wù)器。打開(kāi)終端,并依次運(yùn)行以下命令來(lái)安裝OpenSSH服務(wù)器,并啟動(dòng)SSH服務(wù)器:
- sudo apt update
- sudo apt install openssh-server
- service sshd restart
- 打開(kāi)Windows上的VS Code,并安裝“Remote - SSH”擴(kuò)展。在側(cè)邊欄的擴(kuò)展視圖中搜索“Remote - SSH”并安裝它。
![]()
- 在VS Code中打開(kāi)命令面板。你可以通過(guò)按下?
Ctrl+Shift+P
(或者點(diǎn)擊VS Code左下角的“打開(kāi)遠(yuǎn)程窗口”按鈕)來(lái)打開(kāi)命令面板。- 在命令面板中,輸入“Remote-SSH: Connect to Host”,然后選擇該選項(xiàng)。
- 在彈出的菜單中選擇“Configure SSH Hosts”。
- 選擇“~/.ssh/config”文件或者創(chuàng)建新的配置文件(在該配置文件中可以配置多個(gè)Linux服務(wù)器信息)。
![]()
- 在配置文件中,添加以下內(nèi)容,替換主機(jī)名為Ubuntu的IP地址或主機(jī)名,用戶(hù)名為您在Ubuntu上的用戶(hù)名:
![]()
- 返回到命令面板,再次輸入“Remote-SSH: Connect to Host”(或者點(diǎn)擊VS Code左下角的“打開(kāi)遠(yuǎn)程窗口”按鈕),然后選擇剛才配置的連接。
- 輸入您的Ubuntu用戶(hù)密碼進(jìn)行身份驗(yàn)證,但這里遇到了如下錯(cuò)誤,說(shuō)明Windows環(huán)境中沒(méi)有安裝OpenSSH客戶(hù)端。
- 以管理員身份運(yùn)行 PowerShell,使用 PowerShell 安裝 OpenSSH。 為了確保 OpenSSH 可用,請(qǐng)運(yùn)行以下命令:
- Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
- 如果尚未安裝SSH客戶(hù)端,則上面的操作會(huì)輸出以下內(nèi)容:
- Name : OpenSSH.Client~~~~0.0.1.0
- State : NotPresent
- 然后,執(zhí)行以下命令安裝OpenSSH客戶(hù)端
- Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
- 啟動(dòng)并配置 OpenSSH 服務(wù)器來(lái)開(kāi)啟使用,然后依次運(yùn)行以下命令來(lái)啟動(dòng)?
sshd
- Start-Service sshd
- Set-Service -Name sshd -StartupType 'Automatic'
- if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) { Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..." New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 } else { Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists." }
- 然后點(diǎn)擊 VsCode 界面左側(cè)欄的“遠(yuǎn)程資源管理器”,在展開(kāi)的“遠(yuǎn)程Linux連接信息”列表中,右擊其中一個(gè)進(jìn)行遠(yuǎn)程連接,如下。
![]()
- 連接成功后,VS Code會(huì)打開(kāi)一個(gè)新的窗口,顯示Ubuntu上的文件系統(tǒng)(可以使用“文件”>“打開(kāi)文件夾”瀏覽和打開(kāi)遠(yuǎn)程主目錄中的文件夾。)。
![]()
- 然后就可以在VS Code中編寫(xiě)、保存和運(yùn)行Ubuntu環(huán)境中的代碼了。
- 如果要結(jié)束 SSH 連接,可以使用“文件”>“關(guān)閉遠(yuǎn)程連接”返回到在本地運(yùn)行?VS Code。
四,免密遠(yuǎn)程連接
要在VSCode中實(shí)現(xiàn)免密碼遠(yuǎn)程登錄到Linux系統(tǒng),你可以通過(guò)使用SSH密鑰對(duì)來(lái)實(shí)現(xiàn)。以下是詳細(xì)的步驟:
- 生成SSH密鑰對(duì):首先,需要在本地計(jì)算機(jī)(比如Windows)上生成SSH密鑰對(duì)。打開(kāi)終端或命令提示符窗口(比如PowerShell),并運(yùn)行以下命令:
- ssh-keygen -t rsa
- 按照提示,選擇密鑰文件的保存位置和密碼等設(shè)置。這將生成一個(gè)私鑰文件(
id_rsa
)和一個(gè)公鑰文件(id_rsa.pub
)。![]()
- 將公鑰文件添加到Linux服務(wù)器上:將公鑰文件上傳到遠(yuǎn)程Linux服務(wù)器上的?
~/.ssh/authorized_keys
?文件中。使用以下命令將公鑰文件復(fù)制到服務(wù)器(我的公鑰文件在本地目錄中為?C:/Users/86152/.ssh/id_rsa.pub
):
- scp C:/Users/86152/.ssh/id_rsa.pub username@server_ip:~/
![]()
username
替換為你要連接到的Linux服務(wù)器上的用戶(hù)名,server_ip
替換為服務(wù)器的IP地址。這個(gè)命令會(huì)將公鑰文件復(fù)制到遠(yuǎn)程服務(wù)器的home目錄下。- 使用SSH連接到Linux服務(wù)器:使用以下命令,然后輸入登錄密碼進(jìn)行身份驗(yàn)證:
- ssh username@server_ip
![]()
- 將公鑰添加到
authorized_keys
文件中:使用以下命令將公鑰文件的內(nèi)容追加到~/.ssh/authorized_keys
文件中(確保存在.ssh
目錄,如果尚不存在則創(chuàng)建):
- cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
![]()
- 設(shè)置文件權(quán)限:使用以下命令修復(fù)文件權(quán)限問(wèn)題,這將確保
.ssh
目錄的權(quán)限為700(所有者具有讀、寫(xiě)和執(zhí)行權(quán)限),authorized_keys
文件的權(quán)限為600(所有者具有讀和寫(xiě)權(quán)限):
- chmod 700 ~/.ssh
- chmod 600 ~/.ssh/authorized_keys
- 完成以上步驟后,就可以通過(guò)VsCode連接到Linux服務(wù)器而無(wú)需輸入密碼了。
五,參考鏈接
1.Windows 安裝 OpenSSH
2.通過(guò) SSH 進(jìn)行遠(yuǎn)程開(kāi)發(fā)
3.遠(yuǎn)程開(kāi)發(fā)提示和技巧
六,番外知識(shí)
1.SSH(Secure Shell)是一種用于遠(yuǎn)程登錄和安全文件傳輸?shù)木W(wǎng)絡(luò)協(xié)議。它提供了一種通過(guò)不安全的網(wǎng)絡(luò)連接(例如,互聯(lián)網(wǎng))在客戶(hù)端和遠(yuǎn)程服務(wù)器之間進(jìn)行安全的加密通信的方式。以下是SSH的介紹:
- 安全性:SSH是一個(gè)加密協(xié)議,可確保通過(guò)不安全的網(wǎng)絡(luò)連接傳輸?shù)臄?shù)據(jù)的安全性。它使用公鑰加密和對(duì)稱(chēng)密鑰加密來(lái)保護(hù)通信的機(jī)密性,防止數(shù)據(jù)被竊聽(tīng)和篡改。
- 遠(yuǎn)程登錄:SSH最常用的用途是遠(yuǎn)程登錄。使用SSH客戶(hù)端,用戶(hù)可以通過(guò)Internet連接到遠(yuǎn)程服務(wù)器,并在遠(yuǎn)程服務(wù)器上執(zhí)行命令和訪問(wèn)資源,就好像他們直接在服務(wù)器上操作一樣。
- 文件傳輸:SSH提供了安全的文件傳輸機(jī)制,稱(chēng)為SCP(Secure Copy)或SFTP(SSH File Transfer Protocol)。使用SCP或SFTP,用戶(hù)可以在本地計(jì)算機(jī)和遠(yuǎn)程服務(wù)器之間安全地傳輸文件。
- 用戶(hù)身份認(rèn)證:SSH使用公鑰加密來(lái)進(jìn)行身份驗(yàn)證。在建立SSH連接時(shí),客戶(hù)端和服器之間會(huì)進(jìn)行公鑰交換??蛻?hù)端會(huì)生成一對(duì)密鑰(公鑰和私鑰),將公鑰發(fā)送給服務(wù)器。服務(wù)器將公鑰與特定用戶(hù)關(guān)聯(lián),并用于驗(yàn)證用戶(hù)身份。
- 端口和配置:SSH使用默認(rèn)的TCP端口22進(jìn)行通信。但是,可以在需要時(shí)更改SSH服務(wù)器的端口。此外,SSH服務(wù)器的配置文件位于服務(wù)器上,并且可以用來(lái)定義許多不同的行為和限制。
- 客戶(hù)端和服務(wù)器:SSH由SSH客戶(hù)端和SSH服務(wù)器組成??蛻?hù)端用于發(fā)起SSH連接并向服務(wù)器發(fā)送命令和請(qǐng)求。服務(wù)器負(fù)責(zé)接受客戶(hù)端連接,并提供所需的服務(wù)(登錄、文件傳輸?shù)龋?/li>
- 公共網(wǎng)絡(luò):由于SSH提供了安全的加密通信,它被廣泛用于在不受信任的公共網(wǎng)絡(luò)上訪問(wèn)遠(yuǎn)程服務(wù)器。通過(guò)SSH,用戶(hù)可以在互聯(lián)網(wǎng)上安全地使用遠(yuǎn)程服務(wù)器而無(wú)需擔(dān)心敏感數(shù)據(jù)的安全性。
總之,SSH是一種安全的遠(yuǎn)程登錄和文件傳輸協(xié)議,它提供了加密通信和身份驗(yàn)證機(jī)制,使用戶(hù)能夠在不安全的網(wǎng)絡(luò)上安全地訪問(wèn)和操作遠(yuǎn)程系統(tǒng)。
2.OpenSSH是一個(gè)開(kāi)源的實(shí)現(xiàn)了遠(yuǎn)程登錄和安全文件傳輸功能的軟件套件。它是SSH協(xié)議的一個(gè)實(shí)現(xiàn),并提供了一系列命令行工具和守護(hù)進(jìn)程,用于在網(wǎng)絡(luò)上進(jìn)行安全的遠(yuǎn)程訪問(wèn)和文件傳輸。以下是OpenSSH的介紹:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-613969.html
- 功能:OpenSSH提供了通過(guò)加密通信協(xié)議的安全遠(yuǎn)程登錄和文件傳輸功能。它支持SSH協(xié)議的各種功能,包括加密、公鑰和身份驗(yàn)證、遠(yuǎn)程命令執(zhí)行、文件傳輸(通過(guò)SCP和SFTP),以及端口轉(zhuǎn)發(fā)和隧道等功能。
- 安全性:OpenSSH致力于提供安全的通信和數(shù)據(jù)傳輸。它使用加密技術(shù)保護(hù)通信內(nèi)容,確保數(shù)據(jù)在傳輸過(guò)程中不被竊聽(tīng)、篡改或偽造。其中包括使用對(duì)稱(chēng)密鑰算法和公鑰加密算法對(duì)通信進(jìn)行加密,并使用各種身份驗(yàn)證方法(例如密碼、公鑰和證書(shū))確保用戶(hù)的身份驗(yàn)證。
- 組件:OpenSSH由幾個(gè)核心組件組成。其中,OpenSSH客戶(hù)端(ssh)用于發(fā)起SSH連接并與遠(yuǎn)程主機(jī)交互;OpenSSH服務(wù)器(sshd)在遠(yuǎn)程主機(jī)上運(yùn)行,并負(fù)責(zé)接受SSH連接、進(jìn)行用戶(hù)身份驗(yàn)證以及提供遠(yuǎn)程登錄和文件傳輸服務(wù);還有其他輔助工具如ssh-keygen用于生成和管理密鑰對(duì),以及ssh-agent用于管理私鑰的代理身份驗(yàn)證。
- 操作系統(tǒng)支持:OpenSSH可以在多種操作系統(tǒng)上運(yùn)行,包括各種類(lèi)Unix系統(tǒng)(如Linux、BSD等)以及Microsoft Windows的版本??梢栽谶@些系統(tǒng)上方便地安裝和配置OpenSSH,以實(shí)現(xiàn)安全的遠(yuǎn)程登錄和文件傳輸。
- 配置文件和自定義:OpenSSH提供了靈活的配置選項(xiàng),使用戶(hù)可以根據(jù)特定需求進(jìn)行自定義。通過(guò)修改OpenSSH的配置文件(如sshd_config),可以定義安全策略、訪問(wèn)控制規(guī)則、端口設(shè)置、用戶(hù)配置等。這使得OpenSSH適應(yīng)不同的環(huán)境和需求。
- 社區(qū)支持和開(kāi)源:OpenSSH是一款開(kāi)源軟件,它的源代碼是公開(kāi)可用的。這使得用戶(hù)和開(kāi)發(fā)人員可以自由地查看、修改和分發(fā)代碼,并貢獻(xiàn)改進(jìn)。OpenSSH擁有強(qiáng)大的社區(qū)支持和廣泛的用戶(hù)群體,因此能夠在保持安全性的前提下不斷改進(jìn)和更新。
總體而言,OpenSSH是一款功能強(qiáng)大的開(kāi)源軟件套件,它提供了安全遠(yuǎn)程登錄和文件傳輸?shù)墓δ?,并通過(guò)其加密通信協(xié)議確保了數(shù)據(jù)和用戶(hù)身份的安全性。它被廣泛用于管理遠(yuǎn)程系統(tǒng)、進(jìn)行系統(tǒng)維護(hù)、遠(yuǎn)程合作、備份和文件傳輸?shù)雀鞣N應(yīng)用場(chǎng)景。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-613969.html
到了這里,關(guān)于【配置環(huán)境】Windows下 VS Code 遠(yuǎn)程連接虛擬機(jī)Ubuntu的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!