VSCode远程编辑,Remote-SSH,Remote Development

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

安装扩展


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

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

配置


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

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

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

用户名/密码认证

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

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

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

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

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

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

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

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

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

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

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

密钥认证

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

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

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

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

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

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

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

然后回到Windows的命令行

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

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

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

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

posted @ 2019-06-27 15:17  GoudaX  阅读(14096)  评论(3编辑  收藏  举报