vs code SSH免密連接遠程服務器


SSH介紹

SSH(Secure Shell 的縮寫)是一種網絡協議,用於加密兩台計算機之間的通信,並且支持各種身份驗證機制。OpenSSH 工具是SSH 協議當前最流行的一種實現,Linux 的所有發行版幾乎都自帶 OpenSSH。

SSH 的軟件架構是服務器-客戶端模式(Server - Client)。在這個架構中,SSH 軟件分成兩個部分:向服務器發出請求的部分,稱為客戶端(client),OpenSSH 的實現為 ssh;接收客戶端發出的請求的部分,稱為服務器(server),OpenSSH 的實現為 sshd

以上引用(抄自)SSH 教程

所以,sshd作為接收請求的SSH服務端,它若是掛了的話(程序停止運行),客戶端或者說你的本地計算機是連不上服務器的。

OpenSSH

注:本文是在win10下操作。

開始,先確認OpenSSH 是否安裝。win10下,進行如下確認/安裝

  1. 打開“設置”,選擇“應用”>“應用和功能”,然后選擇“可選功能” 。

  2. 掃描列表,查看是否已安裝 OpenSSH。 如果未安裝,請在頁面頂部選擇“添加功能”,然后:

    • 查找“OpenSSH 客戶端”,再單擊“安裝”

安裝好后,如圖
image.png

Visual Studio Code

vs cdoe , emm,一個寫代碼的工具(雖然你可以用它摸魚聊天找對象)。去它(官網)(https://code.visualstudio.com/)下載安裝。沒啥大問題。

安裝Remote-SSH插件

在vs code ssh連接服務,這里借助一個插件Remote-SSH。在左側活動欄點擊擴展,在插件商店中搜索插件名字Remote-SSH, 點擊進行安裝。
image.png

安裝好后,會在左側活動欄看到一個新的組件。
image.png

密碼輸入連接服務器

之后,我們嘗試連接服務器。根據下圖順序進行點擊輸入。

  1. 點擊遠程資源管理器
  2. 添加新的SSH連接,
  3. 輸入連接代碼,例如:ssh username@127.0.0.1
    image.png

之后,輸入連接命令后,會提示選擇SSH保存地址,我選擇一個路徑。最后在左側會看到成功添加一個SSH連接地址。
image.png

接下來就可以連接服務器了,點擊左側那個連接符號,會提示,輸入密碼,輸入服務器賬號密碼后。就連接成功了。
image.png
下圖是連接成功的界面。三鍵齊按 ctrl + shift + ` , 調出命令行終端。
image.png

密鑰登陸服務器

上面是用密碼輸入登錄服務器,你會發現每次連接,或者打開文件夾,都會要求輸入一遍密碼。密碼簡單不安全,復雜容易忘,輸入也很麻煩。現在我們使用密鑰進行登錄。SSH密鑰登陸采用非對稱加密,需要公鑰和私鑰配合使用。

生成密鑰

在原來那個沒有連接服務器的vs code窗口, ctrl + shift + ` 調出終端
image.png

使用命令ssh-keygen進行密鑰生成,它有一些參數可以設置,比如-t 可以選擇加密算法,這里就采用默認設置。

命令運行后,一開始會提示密鑰的保存文件名,id_rsa 是私鑰文件名,id_rsa.pub是公鑰文件名,這里默認,回車就行。
之后提醒第二個問題,詢問是否對私鑰進行密碼保護,這是進一步做了安全保護。這里設置了密碼的話,每次密鑰登陸時,你還需要輸入密鑰密碼,也是有點麻煩,我這里就不進行設置了,回車不設。
然后密鑰就生成了。

上傳公鑰

下一步,需要把本地生成的公鑰傳到服務器使用,打開公鑰,復制其內容(完整一行)
imgage

然后轉到已經連接了服務器的vs code窗口, 打開文件,~/.ssh/authorized_keys, 沒有的話,就手動創建一個
image.png

然后在里面添加剛才復制的公鑰,保存。我這里有兩個公鑰,因為之前添加過一個。
image.png

之后再次連接,就會發現不要密碼,直接就可以登陸了

參考

SSH 教程 - 網道 (wangdoc.com)
安裝 OpenSSH | Microsoft Docs


免責聲明!

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



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