先決條件

  • Windows下安裝openssh軟體(win10自帶,可以不用搞)

    從官網下載最新版本預設安裝即可
  • VSCode安裝外掛

    VSCode官方市場獲取兩個外掛:“Remote - SSH”、 “Remote - SSH: Editing Configuration Files”

    ps:裝第一個外掛,會自動安裝第二個外掛
  • Linux機器最好能訪問網際網路,因為通過VSCode連線到Linux的機器後,會自動在Linux的機器上安裝相關外掛,不然很多功能還用不了的,或者需要手工安裝,比較的麻煩。

配置免密登入

  1. winows 下用ssh-keygen 生成公鑰和祕鑰

    使用命令 ssh-keygen.exe -t rsa (可以一路Enter)

  2. 將公鑰傳送到伺服器

    • 網上的一種說法是使用ssh-copy-id命令,比較簡單,但我的機器上沒有這個命令。

      ssh-copy-id -i .ssh/id_rsa.pub [email protected],此時會要求輸一次伺服器密碼
    • 如果上面的命令不可用,可以手工拷貝。

      將“C:\Users\{你的使用者名稱}\.ssh\id_rsa.pub”中的內容複製到Linux機器的“~/.ssh/authorized_keys”檔案中

重要的一些補充:

  1. linux機器上如果是自己建立的authorized_keys檔案,許可權要通過chmod設定為600

    chmod 600 authorized_keys
  2. Linux裡用於登入ssh的使用者的家目錄,許可權必須為700

  3. window下的私鑰檔案id_rsa,如果登入時VSCode提示檔案許可權太高了,則要在檔案屬性裡取消其他使用者(實測主要是去掉everyone和none)對他的訪問許可權。

VSCode連線

  1. 點選左右下角的SSH連線圖示

  2. 選擇“open SSH configuration file”,增加自己的Linux伺服器資訊

    示例如下:

    Host 172.20.0.88
    HostName 172.20.0.88
    User test
  3. 重新點選左右下角的SSH連線圖示,選擇“connect to host”

  4. 首次連線,輸入Linux機器密碼後,後續可以免密登入