最近一直在Windows主机环境下的VM虚拟机Linux中玩儿好玩儿的,,一直用ssh,不太想折腾VIM了,,,尝试一下VSCode 的Remote Development扩展,这个扩展还是微软自己写的.

安装扩展


vscode 远程编写python代码 vscode 远程编辑_vscode 远程编写python代码

安装Remote Development扩展,其它的Remote-SSH会自动安装,若不自动安装,请手动按照截图安装.

vscode 远程编写python代码 vscode 远程编辑_运维_02

安装完成后,点击左下角,就可以出现如图的命令.这表示扩展已经安装完成

配置


Linux上需要安装ssh服务器,,,这个是必须的,需要支持 用户名/密码 或 密钥 方式,在配置之前,,您需要保证在命令行正常连接上linux

vscode 远程编写python代码 vscode 远程编辑_开发工具_03

注意: 如果命令行提示ssh命令不存在,请安装git,或者open-ssh,并把ssh.exe所在的目录添加到环境变量中,继续下去之前,,请确保您已经可以实现上图(通过cmd命令行执行ssh,连接linux)

上面提到过,,在VSCode中我们也可以通过用户名密码或者密钥认证连接到Linux.我们分别来实现

用户名/密码认证

配置用户名/密码认证 需要编辑一下VSCode的settings.json文件,打开的方式如下图,点击设置,滑动鼠标,找到任意一个在settings.json中编辑点进去就行

vscode 远程编写python代码 vscode 远程编辑_开发工具_04

. 添加 "remote.SSH.showLoginTerminal": true,

vscode 远程编写python代码 vscode 远程编辑_用户名_05

阴影部分为新添加的(注意逗号)

配置完成后,可以开始我们的连接了.

vscode 远程编写python代码 vscode 远程编辑_操作系统_06

vscode 远程编写python代码 vscode 远程编辑_运维_07

根据图片顺序打开config文件,并编辑,,,要注意该文件所在的目录(每个人的用户名可能有所不同),因为一会儿还会用到.

vscode 远程编写python代码 vscode 远程编辑_操作系统_08

弹出一个新窗口,根据提示,输入linux的密码

vscode 远程编写python代码 vscode 远程编辑_运维_09

输密码,输密码......直到出现

vscode 远程编写python代码 vscode 远程编辑_操作系统_10

已经连接上了 文件->打开文件夹(或者文件),可以显示出linux的文件夹(或者文件)..

vscode 远程编写python代码 vscode 远程编辑_操作系统_11

提示输入密码的时候,,就输密码,,,一直输一直爽.

vscode 远程编写python代码 vscode 远程编辑_开发工具_12

根据提示,,这个shell不要关闭...关闭连接就断了.....

根据上面的步骤,相信已经成功的连接上linux了.但是我们发现,每次输入密码简直太太太...烦人了.并且需要输入好几次,有没有好一点的方法呢,当然有!,那就是采用公钥.

密钥认证

首先,,我们用cmd切换到我们编辑主机config文件所在的目录,,用户名/密码认证中提到过的..类似下图(由于每个人用户名不一样,所以会有些区别)

vscode 远程编写python代码 vscode 远程编辑_运维_13

执行ssh-keygen,如果ssh命令可以正常执行,,这个也可以.

vscode 远程编写python代码 vscode 远程编辑_运维_14

确认下目录,,一路回车即可! 完成后多了id_rsa,id_rsa.pub两个文件.

我们需要将id_rsa.pub 文件,复制一份到linux服务器上~/.ssh/目录下(注意,这个需要是您远程登陆的账户),若没有该目录,请执行mkdir ~/.ssh创建,然后将id_rsa.pub,远程传输到该目录下.

然后切换到该目录下,执行cat id_rsa.pub >> authorized_keys,

vscode 远程编写python代码 vscode 远程编辑_操作系统_15

执行完上述操作前,请确认/etc/ssh/sshd_config文件下的PubkeyAuthentication yes,AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2,两条是不是正常,若有注释,请取消,若不相同,请修改或者添加

vscode 远程编写python代码 vscode 远程编辑_操作系统_16

修改完成后,重启linux的ssh服务.

然后回到Windows的命令行

执行ssh (用户名)@192.168.160.132,括号中的请替换为您的Linux用户名,请一定要按照这种格式登陆,一定要输入用户名和IP,不要只输IP

vscode 远程编写python代码 vscode 远程编辑_运维_17

这次登陆,惊喜的发现 **不需要输入密码了?*,,,如果还需要输入密码,,那就检查一下哪里没有做对.

现在,可以用VSCode连接试试了

vscode 远程编写python代码 vscode 远程编辑_用户名_18

稍等一下,,自动使用公钥认证.不需要输密码就可以直接使用了!