LOGO

MIS 腳印

記錄 IT 學習的軌跡

Visual Studio Code 使用 Remote - SSH 開啟遠端 Linux 資料夾

在 Windows 7/10 使用 Visual Studio Code 的 Remote - SSH 延伸模組,就能夠 SSH 開啟並掛載遠端 Linux Server 資料夾,即可實現編修資料夾與檔案就像在自己的電腦上一樣。

Visual Studio Code

Remote - SSH

Remote - SSH 是一套 Microsoft 於 2019-5-3 發佈的 Visual Studio Code 延伸模組,它能夠 SSH 開啟遠端 Linux Server 資料夾。

Linux OpenSSH Server 要求

目前完全支援的 Linux Server 如下:

  • CentOS / RHEL 7+。(站長使用 CentOS 7)
  • x86_64 Debian 8+。
  • Ubuntu 16.04+。

安裝

Remote - SSH - Visual Studio Marketplace 點擊 Install 即可。安裝完成後左下方會多出一個 Remote - SSH 區塊:

Visual Studio Code Remote - SSH
Visual Studio Code Remote - SSH

Windows (Client)

安裝 OpenSSH

Windows 必須安裝 OpenSSH Client,才能使用 ssh 指令連結 Linux OpenSSH Server,但 Windows 7 與 Windows 10 安裝方式與問題都不相同,因此將各別解說。

Windows 7

安裝 Git fot Windows 後,預設就包含 OpenSSH Client 了。安裝完成後在手動將 Git 指令路徑 C:\Program Files\Git\usr\bin 加入 Path「環境變數」中 (路徑前必須加上分號 ; 區隔):

後續步驟請接續首次連結 Linux OpenSSH Server

Windows 10

依下圖指示安裝 OpenSSH 用戶端:

安裝完必須重啟電腦後才能使用 ssh 指令。

後續步驟請接續首次連結 Linux OpenSSH Server

首次連結 Linux OpenSSH Server

首次使用 ssh 指令成功連結 Linux OpenSSH Server 時,會自動在使用者家目錄下產生 .ssh/ 的目錄。

同時會詢問是否要永久性地將該 Server 的 ECDSA 密鑰添加到已知的主機列表中,輸入 yes 後 (下次在登入該 Server 就不會再詢問了),同時會自動在 .ssh/ 目錄下新增用來保存主機與 ECDSA 密鑰對應列表的檔案 known_hosts:

加入 Private Key

要在 Windows 7/10 的 Visual Studio Code 透過 Remote - SSH 延伸模組連結 Linux OpenSSH Server,無法使用輸入密碼的方式登入,必須依靠 SSH 金鑰免密碼登入。如何建立金鑰與加入 Private Key 請參考 Windows 使用 SSH 金鑰免密碼登入 Linux

Windows 10 須額外處理檔案權限問題,請參考 Windows 10 錯誤排除

Visual Studio Code

點擊 Configure > 使用者家目錄.\ssh.config,建立 Remote - SSH 設定檔:

Remote - SSH 預設基本設定說明如下 (詳細完整手冊可參考設定檔所附連結 OpenSSH SSH client config files):

  • Host:設定檔名稱。
  • HostName:Linux OpenSSH Server 位址。
  • User:登入 Linux OpenSSH Server 的帳戶。

設定完成存檔左側會立即顯示 Host 所設定的名稱,點擊右側的小紅框就會立即與 Linux OpenSSH Server 進行連結:

如果您使用的是 Windows 10,並且輸出 "程序嘗試寫入到一個不存在的管道" 的錯誤訊息,請參考 Windows 10 錯誤排除來解決。

點選「開啟資料夾」就會打開 Linux Server 目錄列表,選定要開啟的目錄按「確定」,即可加入遠端 Linux Server 的目錄:

Windows 10 錯誤排除

Windows 10 使用 Remote - SSH,在 .ssh/ 目錄下的設定檔與 Private Key (config 與 id_rsa) 的使用者,僅能有當前登入的使用者,否則會造成 Remote - SSH 連結 Linux OpenSSH Server 時,無法連結且輸出以下錯誤訊息:

請依下圖步驟設定 config 與 id_rsa 這兩個檔案的權限:


參考


發表迴響