VS Code Remote SSH設置


本文翻譯自:5 Steps: Setup VS Code for Remote Development via SSH from Windows to Linux system


5個步驟:設置VS代碼以通過SSH從Windows到Linux系統進行遠程開發

由www.flaction.com的Pixel Perfect制造的圖標

遠程開發是VS代碼中非常流行的功能。他們的官方文檔提供了以一般方式配置它的標准說明。但是,當我從視窗系統連接到遠程的Linux服務器時,由於輸入側 錯誤,我總是遇到以下損壞的MAC,很難在一處找到完整的解決方案。

錯誤:輸入中的MAC損壞

因此,本文將為WindowsLinux系統之間通過基於密鑰的SSH進行遠程連接提供VS Code指南,該指南還處理輸入錯誤時損壞的MAC

為什么我們需要遠程開發:

  • 對於軟件開發人員,他們通常在本地開發新功能,然后在遠程服務器上進行測試。
  • 對於數據科學家來說,他們需要額外的計算資源(例如遠程GPU例程)來支持大數據處理。
  • 對於DevOps工程師而言,他們的主要任務之一是在不同的服務器上部署不同的產品,這需要替換的遠程配置。
先決條件:
  • 已安裝VS Code
    您可以DOWNLO一個從自己的網站做遵循的基本設置我以前的指導。本指南也適用於常規開發工作區。
  • 本地Windows和遠程Linux系統上都安裝了OpenSSH
    簡而言之,這將使您可以使用ssh。您可以通過在兩個系統上進行檢查ssh -V。然后返回您系統上已安裝的OpenSSH的版本。否則,將不安裝OpenSSH。您也可以從這里安裝Windows版本,從這里安裝Linux版本。
    現在開始吧~🚀
目錄概述

步驟1:在VS Code中安裝遠程SSH擴展
步驟2:在PowerShell中驗證SSH連接
步驟3:在VS Code中啟用遠程連接
步驟4:生成SSH密鑰對
步驟5:將公鑰復制到遠端伺服器

[以下安裝程序基於Win10 PowerShell]
步驟1:在VS Code中安裝遠程SSH擴展

啟動VS Code->點擊前端的擴展圖標->在搜索位置搜索遠程SSH->安裝它:

然后,您將在狀態欄的左下方看到一個小的遠程連接的圖標:

步驟2:在PowerShell中驗證SSH連接

在左上方的終端或快捷方式`ctrl+shift+``,以VS Code打開PowerShell終端->如果不是PowelShell,請從此處進行更改:

通過ssh 用戶名@主機IP地址在PowelShell中執行來驗證SSH連接。(是否在conda env中運行都沒有關系)

如果您可以成功登錄到遠程服務器,則可以進行下一步了。

💢如果出現輸入錯誤是出現損壞的MAC,如下所示:

然后,根據需要選擇其中一個,並通過添加帶有-m選項的替代算法來再次連接到遠程服務器:

ssh -m hmac-md5-96用戶名@主機IP地址

許多人需要嘗試幾次,知道找到遠程Linux服務器支持的算法。

現在,您應該能夠登錄到遠程服務器,並准備好下一步。

步驟3:在VS Code中啟用遠程連接

進入左下角的遠程連接圖標->選擇“遠程SSH:打開配置文件...”。

或者,您可以直接從本地主目錄打開ssh配置文件~/.ssh/config

將您的遠程服務器信息以以下格式添加到配置文件中:

Host [hostname]
  HostName [hostname]
  User [username]
  MACs **[可選;如果您在步驟2中遇到MAC錯誤,請在此處找到找到的可用算法]**

如果要連接多個服務器,則只需要保留格式並一一追加即可。

最后,您將獲得如下配置文件:(我們將在下一步中返回到IdentityFile

本示例維護三個不同的遠程服務器

現在,您應該能夠連接到遠程服務器而不會出現MAC錯誤。

單擊左下角的遠程連接圖標->選擇“遠程SSH:連接到主機...”->您將在配置文件中看到維護的遠程服務器列表->單機目標服務器(您可以需要輸入登錄名密碼)

維護主機列表

成功連接后,將導航至新的VS Code窗口,和遠程主機名顯示在左下方:

在此之前,您已經通過VS Code成功設置了一個可行的遠程開發工作空間。但是,還沒有完成。

如果您在此處停止,則每次發出遠程連接時都會要求您輸入登錄密碼。而且,您甚至還需要打開一個文件夾,就需要通過VS Code輸入該遠程服務器上每個操作的密碼。這真是令人討厭。另一方面,密碼登錄不夠安全。每個人都易於使用和理解,但是這種便利以某種方式犧牲了安全級別。暴力攻擊很容易破壞密碼。

因此,伴隨在VS Code中輸入密碼,不如使用SSH公鑰和私鑰對進行身份驗證。

步驟4:生成SSH密鑰對

在VS Code Powershell終端中,執行以下命令:

ssh-keygen

在關鍵生成過程中,預期提示:

這使您可以定義存儲密鑰的位置。按ENTER將其保留為默認值。

這樣,您就可以輸入並再次確認密碼以保護私鑰(鍵入是不會顯示密碼)。此后,將來使用私鑰時需要輸入此密碼。這是一個額外的保護。您可以按ENTER跳過它。

創建完成后,您將看到鑰匙的隨機圖案。並且您的密鑰對存儲在默認的隱藏~/.ssh目錄中:

要仔細檢查,您可以通過以下方式查看上述位置的密鑰對:

cd ~/.ssh
ls

您將看到兩個新文件,id_rsa存儲着私鑰,id_rsa.pub存儲着公鑰。運行cat [filename]以檢查關鍵內容。

如果一切都很好。現在,您可以將步驟2中的私鑰路徑添加到~/.ssh/id_rsassh配置文件中,並使用IdentityFile的名稱:

請記住,一個公鑰可以多次使用,並且❗不要與任何人共享您的私鑰。

步驟5:將公鑰復制到遠程服務器

通過VS Code或任何其他帶有密碼的終端登錄到遠程服務器。檢查authorized_keys文件是否在~/.ssh目錄下。如果沒有,請通過以下命令創建一個:

cd ~/.ssh
cat authorized_keys

authorized_keysOpenSSH定義的默認文件名,用於存儲公用密鑰。您可以在此文件中維護多個公共密鑰。確保每個鍵都在一行上,並且鍵中間沒有換行符。

然后在遠程文件中維護您的公共密鑰(內容在您的本地文件~/.ssh/id_ras.pub中)

vim authorized_keys->按i轉換為INSERT模式->在此處添加您的公共密鑰內容->按ESC+:+wq寫入並退出文件->通過進行重新檢查cat authorized_keys

現在,您可以在VS Code中使用安全方便的遠程開發工作區了!

摘要

只需返回到您的VS代碼即可。發出新的遠程連接。現在,您應該能夠在沒有密碼的情況下連接到遠程服務器,並像在本地一樣在該服務器上進行操作。祝你玩得開心!


免責聲明!

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



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