先決條件
- Windows下安裝openssh軟體(win10自帶,可以不用搞)
從官網下載最新版本預設安裝即可 - VSCode安裝外掛
VSCode官方市場獲取兩個外掛:“Remote - SSH”、 “Remote - SSH: Editing Configuration Files”
ps:裝第一個外掛,會自動安裝第二個外掛 - Linux機器最好能訪問網際網路,因為通過VSCode連線到Linux的機器後,會自動在Linux的機器上安裝相關外掛,不然很多功能還用不了的,或者需要手工安裝,比較的麻煩。
配置免密登入
winows 下用ssh-keygen 生成公鑰和祕鑰
使用命令 ssh-keygen.exe -t rsa (可以一路Enter)將公鑰傳送到伺服器
- 網上的一種說法是使用ssh-copy-id命令,比較簡單,但我的機器上沒有這個命令。
ssh-copy-id -i .ssh/id_rsa.pub [email protected],此時會要求輸一次伺服器密碼 - 如果上面的命令不可用,可以手工拷貝。
將“C:\Users\{你的使用者名稱}\.ssh\id_rsa.pub”中的內容複製到Linux機器的“~/.ssh/authorized_keys”檔案中
- 網上的一種說法是使用ssh-copy-id命令,比較簡單,但我的機器上沒有這個命令。
重要的一些補充:
linux機器上如果是自己建立的authorized_keys檔案,許可權要通過chmod設定為600
chmod 600 authorized_keys
Linux裡用於登入ssh的使用者的家目錄,許可權必須為700
window下的私鑰檔案id_rsa,如果登入時VSCode提示檔案許可權太高了,則要在檔案屬性裡取消其他使用者(實測主要是去掉everyone和none)對他的訪問許可權。
VSCode連線
點選左右下角的SSH連線圖示
選擇“open SSH configuration file”,增加自己的Linux伺服器資訊
示例如下:Host 172.20.0.88
HostName 172.20.0.88
User test
重新點選左右下角的SSH連線圖示,選擇“connect to host”
首次連線,輸入Linux機器密碼後,後續可以免密登入