轉載自:https://www.cnblogs.com/learn21cn/p/6189023.html
使用vscode通路和修改遠端檔案,分三步實作:在遠端linux機器上安裝rmate;在本地windows上安裝openssh;在vscode中安裝擴充remote vscode。
1、 在遠端linux機器上安裝rmate
rmate有很多中語言版本,這裡用的是python的版本。github位址:https://github.com/sclukey/rmate-python
下載下傳安裝比較簡單,在linux中執行以下指令即可
wget https://raw.githubusercontent.com/sclukey/rmate-python/master/bin/rmate
chmod +x ./rmate
mv ./rmate /usr/local/bin/rmate
2、在本地window中安裝openssh
github位址:https://github.com/openssl/openssl/blob/master/INSTALL
這個是需要自己編譯的,推薦直接利用window版的安裝包:https://www.mls-software.com/opensshd.html
推薦使用exe版本。如果下載下傳的是免安裝的版本,需要在windows設定一下環境變量,到解壓後的bin目錄。安裝完成運作ssh指令會有以下提示:
可以直接運作 ssh-keygen -t rsa 指令生成密鑰對,一般預設的檔案夾會在目前使用者目錄下的.ssh檔案夾中。在windows的指令行中實作對遠端linux的免密碼登入,和在linux系統中的方式是一樣的,将windows中生成的公鑰id_rsa.pub檔案追加到所用的linux登入使用者的.ssh目錄中的authorized_key檔案中即可。
要使authorized_key生效,需要需要對sshd_config檔案進行修改,主要是以下三項,取消注釋即可
vim
/etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
之後,執行 service sshd restart 指令重新開機sshd服務
service sshd restart
# 之後
cat id_rsa.pub >> authorized_keys
# 注意檔案的路徑
注意的是,如果使用的linux登入使用者不是root使用者,需要修改以下.ssh檔案夾以及authorized_key檔案的權限,否則是無法實作免密碼登入的
chmod 700 .ssh
cd .ssh/
chmod 600 authorized_keys
3、安裝remote vscode擴充
擴充位址:https://marketplace.visualstudio.com/items?itemName=rafaelmaiolla.remote-vscode
安裝完成後,面闆中點選Start Server,啟動服務(這一步是必須的)
之後打開終端(【檢視】——【內建終端】),輸入以下指令:
ssh -R 52698:127.0.0.1:52698 登入linux使用者名@linux計算機ip位址
# 例子
ssh -R 52698:127.0.0.1:52698 [email protected]192.168.1.215
ssh -R 52698:127.0.0.1:52698 [email protected] -p 2159
# 上面2159為端口号,隻是例子,ssh預設通過22端口通路遠端主機,出現這種情況可能是更改了端口,也可能是存在端口的轉發。
# 之後
rmate -p 52698 linux中的檔案名稱
結果會打開相應的檔案:
之後可以直接進行修改了。
此外,如需設定擴充自動啟動,隻需點一下【工作區設定】,這樣會自動添加setting.json檔案
在檔案中進行如下設定即可。
最後,如果開啟了防火牆,需要把所用到的52698端口打開。