之前一直使用Xshell遠程連接實驗室服務器,本地調試好代碼后放上去跑,但感覺非常麻煩,所以對VS Code的插件部分做了一波探索,記錄如下
VS Code 插件安裝
- 在VS Code插件商店搜索ssh,並安裝第一個名為"Remote-SSH"的插件,如下圖

-
而后左側邊欄會出現
圖標,點進去,然后點擊如下配置按鈕
-
在彈出框中任意選擇一個ssh的配置文件保存路徑,一般選擇第一個即可,而后就好跳轉到一個新配置文件中,文件內容一般如下
-
其中Host 屬性代表此ssh服務器的連接名稱,定義自己能分辨各個服務器的名字即可;HostName 代表主機號,一般輸入遠程服務器的IP即可(這里我是亂寫的);User 代表自己登錄服務器的用戶名;Port 代表登陸服務器的端口號,如果沒有端口要求,可以不寫這一項
-
配置完成保存退出即可,此時在之前SSH窗口處會出現以自己Host 名稱命名的內容,右鍵即可彈出下述選擇,可以本窗口打開連接也可以新窗口連接,任意選擇即可
- 連接成功后,打開左側豎邊欄中的第一個按鈕,即可看到以下界面,此處也會顯示已連接到遠程 ,點擊打開文件夾,即可選擇打開服務器上的文件夾

-
如果打開config文件后什么內容都沒有,可以復制我這里的例子
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config Host BitCQ HostName 222.180.171.10 User hpc_cpu3100011 Port 12306 IdentityFile "C:\Users\Eric\.ssh\id_rsa"
-
大家可能會發現,最后一個IdentityFile 屬性前面沒有提到,它的出現是因為如果只按照前面的配置,我們在每次登錄和打開文件 的時候都需要輸入賬號密碼 ,這屬實不太方便,所以大家可以按照下面的流程增加公私密鑰,實現免密登錄
增加公私密鑰,實現SSH免密登錄
-
利用cmd/終端生成密鑰。打開終端,輸入
ssh-keygen -t rsa -C "xx@qq.com"
,其中郵箱換成自己的任意郵箱即可,而后一直回車直至結束 -
而后打開自己電腦的
c:/user/Eric/.ssh/
路徑,其中Eric 是我電腦的用戶名,此處大家電腦的路徑里應該是自己電腦的用戶名,而后即可看到id_rsa
和id_rsa.pub
兩個文件,其中.pub 結尾的為公鑰 -
接下來打開
id_rsa.pub
文件將其中的內容復制下來,而后用輸入密碼的方式登入服務器,在服務器終端中輸入vi ~/.ssh/authorized_keys
命令,進入文件會按鍵盤字母i 進入編輯模式,在文件最后回車,然后鼠標右鍵即可粘貼已復制的id_rsa.pub
文件中的內容,而后按esc ,輸入:wq 即可退出編輯模式 -
而后重新按照前面講述的步驟打開SSH的config文件,在文件末尾輸入上述內容的最后一句,即
IdentityFile "C:\Users\Eric\.ssh\id_rsa"
,此處的路徑直接寫入自己的私鑰文件id_rsa 文件的實際所在路徑即可 -
保存退出,至此,全部配置完成,可以在VSCode上愉快的訪問遠程服務器端的文件了
代碼調試
- 此時使用VS Code打開代碼文件,右下角可能會彈出一些插件未安裝的提示,這是由於VS Code需要在服務器端按照運行和調試環境,所以不用擔心,按要求全部安裝即可
- 而后的代碼調試就和本地一樣了,可以放心Coding
連接后可能出現的問題
- 我在連接后出現了qsub 命令不可用的問題,經在原始XShell 中檢測,發現XShell中是可用的,故猜測是環境變量未配置,因此可在XShell 中使用
which qsub
命令查找qsub的工作路徑,將其記錄下來 - 而后在VSCode終端中輸入
echo $PATH
命令,發現此路徑確實沒在環境變量中 - 接下來打開
~/.bashrc
文件,在其中添加一行export PATH=$PATH: ***
,其中*號代表第一步得到的qsub 路徑,此處只需寫到 bin 目錄即可 - 最后在命令行中輸入
source ~/.bashrc
即可使用qsub 命令了