VSCode遠程開發調試服務器c/c++代碼

語音相關的好多項目要在linux上跑,但代碼開發大多是在PC機上,本篇簡單介紹一下怎麼在個人電腦上用VSCode遠程開發調試服務器上的c/c++代碼。

思路與上篇(PyCharm遠程調試服務器python代碼 )是一致的,所以端口轉發這部分直接照抄上篇:

一、端口轉發

對於沒有公網IP的遠程訓練服務器,需要先配置端口轉發,可以用ssh借道有辦公網IP的辦公機器。

0、公司給配置了一臺Ubuntu系統的臺式機器A,開發時想用Windows筆記本B,把遠程CentOS訓練服務器記爲C。

1、首先需要修改臺式機A上的ssh配置文件,如果不修改配置的話,將只有機器A可以訪問訓練服務器C。

$ sudo vim /etc/ssh/sshd_config

添加:

GatewayPorts yes
PasswordAuthentication yes

然後重啓機器A的sshd服務使上述配置生效。

$ sudo systemctl restart sshd

2、在訓練服務器C上向機器A主動建立SSH連接,轉發訓練服務器C的22號端口

3、用ssh命令轉發端口,ssh -NTf -R 轉發端口號:localhost:22 機器A的用戶名@機器A的IP

$ ssh -NTf -R 2333:127.0.0.1:22 [email protected]*.25*

輸入密碼後就在後臺運行了

4、驗證,在機器B上

$ ssh [email protected]*.25*

登陸上的話就證明ssh隧道建立成功了

5、理論上,A和B可以是同一臺機器,也就是C可以直接把端口轉發給有pycharm的開發機器。不過由於我的開發機上下班會帶着移動,移動過程中SSH不能保持連接,經常要重新配置IP,所以選擇了用辦公室的臺式機中轉。

二、免密登錄

0、端口轉發完成後,在windows機器B上,本地cmd窗口生成公鑰和密鑰(密鑰默認放在C:\Users\用戶名\.ssh下)

    ssh-keygen -t rsa -b 4096

1、把公鑰添加到A機器的公鑰集,法1:

將公鑰id_rsa.pub複製到機器A的~/.ssh文件夾下,重命名爲id_rsa_x260.pub(我的機器是x260),並將其追加到A機器的公鑰集裏

    cat id_rsa_x260.pub >> authorized_keys

2、把公鑰添加到A機器的公鑰集,法2:

    ssh-copy-id [email protected].*.*

會自動把公鑰append到A機器的$HOME/.ssh/authorized_keys裏

三、安裝 OpenSSH

0、Windows 10 機器 上需要安裝 OpenSSH,管理員身份打開 PowerShell

    Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

 

四、遠程開發調試

0、打開 VSCode,添加插件 Remote Development, 會自動安裝 Remote-Container, Remote-SSH 及 Remote-WSL 全家桶,也可以只安裝Remote-SSH。

1、安裝好插件之後,右側邊欄選擇remote explorer,下拉菜單欄選擇SSH target,再點擊configure小齒輪

 

2、選擇c:\user\用戶名\.ssh\config,添加如下信息

 

3、Hostname 填機器A的ip,port填轉發的端口,填入用戶名,由於已經在A機器上添加公鑰,因此不需要密碼。

保存後,ssh targets裏面就會出現機器A,點擊connect to host in new window之後,就可以直接在新窗口中訪問機器C。

 

4、插件被分成了本地和遠程兩部分,本地插件不能在遠程使用,需要重新安裝

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章