VSCode远程开发:Remote Development -SSH配置实录

9,838 阅读2分钟

简介

Remote Development是vscode的远程编程与调试的插件,使用这个插件可以在很多情况下代替vim直接远程修改与调试服务器上的代码,就和在本地使用VScode一样。

Remote Development包含三个扩展,这里我只介绍了SSH的配置与使用。


主机环境配置

这里我的远程主机是Ubuntu,本地是win10。MAC等更多环境配置请看官方文档

 远程主机安装ssh-server

# Linux 系统
sudo apt-get install openssh-server
 本地主机安装ssh-client

一般如果安装过xshell或putty等工具的就不需要单独安装了,可以在cmd中输入ssh查看本机是否安装了ssh。

windows 系统中下载安装 OpenSSH

设置无密码登陆服务器

# 生成本地密钥, 该命令在本地电脑端完成
ssh-keygen -t rsa -b 4096

# 将本地公钥上传到服务器,并添加到 authorized_keys 文件中。
scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub  

ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"

注意, 需要将命令行中的变量替换为具体的内容:

%USERPROFILE% : C:\Users\xxx 

%REMOTEHOST% :username@192.168.1.xxx


scp xxxxxx时如果出现REMOTE HOST IDENTIFICATION HAS CHANGED:

查看错误日志中是否有Add correct host key in /Users/Administrator/.ssh/known_hosts to get rid of this message.

如果有,打开/Users/Administrator/.ssh/known_hosts文件,删除这次远程服务器ip的条目。

更多请看官方文档


VScode配置

vscode安装Remote Development插件。
设置登陆时自动打开命令行窗口,通过ctrl+shift+p打开设置Remote-SSH:Settings,设置Remote.SSH:Show Login Terminal为true


连接远程主机

安装完插件后左下角会出现一个绿色的图标,点击选择会在命令窗口弹出几个选项。 选择 SSH | Remote-SSH:Connect to Host

接着会弹出:


让你选择config文件放在哪里,必须放到被授权的秘钥所在的文件目录,如果你没有修改配置就是第一个。

config文件配置

Host Ubuntu-server # 给配置起个名字
	HostName 1.1.1.1 # 填写远程服务器的IP或者Host
	User     username # 填写登陆远程服务器的用户的名字

连接

配置完毕后,再次Connect to Host选择你刚刚配置的服务器,这里就是Ubuntu-server ,弹出新窗口,连接成功~ 可以愉快的像编辑本地代码一样去编辑远程服务器上的代码了。