使用VS Code連接遠程服務器並調試代碼


之前一直使用Xshell遠程連接實驗室服務器,本地調試好代碼后放上去跑,但感覺非常麻煩,所以對VS Code的插件部分做了一波探索,記錄如下

VS Code 插件安裝

  • 在VS Code插件商店搜索ssh,並安裝第一個名為"Remote-SSH"的插件,如下圖
  • 而后左側邊欄會出現window圖標,點進去,然后點擊如下配置按鈕

  • 在彈出框中任意選擇一個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_rsaid_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 命令了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM