使用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:UsersEric.sshid_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:UsersEric.sshid_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 命令了
原文地址:https://www.cnblogs.com/mohua/p/14626966.html