VS Code远端服务器(WSL/SSH)配置

本文记录VS Code远端服务器(WSL/SSH)的配置方法。

WSL

需要在VS Code内安装远程服务器WSL插件,然后通过类似SSH的某种形式连接上服务器,接着就可以正常编辑了。

由于我安装TVM和深度学习库都在virtualenv的虚拟环境pydev内,所以还VS Code的项目中还需增添一个.vscode/settings.json文件,内容指明python位置。保存重新加载VS Code,可见左下角的Python解释器已改为对应的虚拟环境内的版本。同时为维持Python环境内的跳转功能,需要将一些插件禁用,之后VS Code会自动下载Microsoft的Language server,进而实现文件间跳转。

{
    "python.venvPath": "/mnt/d/pydev",
    "python.pythonPath": "/mnt/d/pydev/bin/python",
    "python.linting.enabled": false,
    "python.jediEnabled": false
}

更多配置详情可见VS Code官网文档

SSH

下面所指的客户端都是自己的电脑,服务器端则是远端环境。

在客户端生成SSH key

ssh-keygen -t rsa -b 2048

通常生成在C:\Users\your_name/.ssh/id_rsa,将该文件的内容拷贝入服务器端的~/.ssh/authorized_keys,进而可实现免密SSH通信。

在客户端的VS Code安装Remote - SSH的插件。

在客户端的VS Code按F1,选择Remote-SSH: Connect to Host,输入user@hostname,其中user是你连接远端服务器所用的用户名,hostname是服务器的IP地址。最好人工修改一下.ssh/config文件

Host # 主机名,任意
  HostName # IP地址
  User # 用户名
  Port # 端口号
  IdentityFile # 公钥文件地址

连接上后,VS Code会自动配置服务器端环境,默认会在服务器端下载并安装。如果你需要在本机下载好后再传送过去,则需要设置remote.SSH.allowLocalServerDownload(在文件->首选项->设置中),详情可参见该文

参考资料