vscode远程开发配置

我们可能会有在远程主机环境下开发的需求,vscode的Remote-SSH插件提供了强大的支持

一、安装vscode插件

搜索插件ssh,安装Remote - SSH。安装好之后,会自动安装一个Remote Development插件,用来打开远程ssh主机的文件夹
在这里插入图片描述

二、安装ssh客户端

vscode的远程ssh插件会调用ssh客户端去连接远程服务器,所以我们需要在本机上安装open-ssh(mac或linux默认都有ssh客户端,可跳过该步骤)

windows的ssh客户端可以到github上下载:https://github.com/PowerShell/Win32-OpenSSH/releases

下载好了之后,解压即可,接着需要配置环境变量,比如你的open-ssh是解压到D:\necessary\OpenSSH-Win64,可以按以下步骤配置(win10)

我的电脑 --> 属性 --> 高级系统设置 --> 环境变量 --> 选中Path,点击编辑 --> 新增D:\necessary\OpenSSH-Win64;(注意环境变量间用分号隔开)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cpKSeXt7-1579498620284)(_v_images/20200120100433180_14127.png)]

配置好环境变量后,打开cmd,输入ssh,如果出现提示信息,则表示可用,否则检查环境变量是否配置正确

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IbyS7ZYo-1579498620285)(_v_images/20200120100827997_29777.png)]

注:windows安装完open-ssh客户端后,需要重启一下vscode

三、连接远程主机

打开vscode,使用Ctrl + Shift + P打开命令框,输入remote,点击Connect to Host
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iy3ulei6-1579498620286)(_v_images/20200120101645608_2292.png)]

选择Add New Host
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-quRJdoj2-1579498620289)(_v_images/20200120101935373_32547.png)]

输入需要远程连接的主机ip或域名
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JSZEvxBa-1579498620289)(_v_images/20200120102020516_30655.png)]

接下来要选择一个配置文件用于存储远程主机的连接信息,用户目录下的.ssh\config会自动创建,其他目录需要自己手动创建再选择
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QGwNOb92-1579498620291)(_v_images/20200120102133187_22044.png)]

这样配置文件就有了刚才加的那台需要远程的主机了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GBpUN8f3-1579498620292)(_v_images/20200120102407543_5479.png)]

我们可以按这样的格式自己添加其他主机:

# Host:远程主机起一个本地名字
# HostName:填写远程服务器的ip或域名
# User:需要用什么用户身份远程登录

Host 10.10.10.10
  HostName 10.10.10.10
  User root

Host test
  HostName 10.200.112.103
  User root

保存好文件之后,再次选择Connect to Host就可以看到有两台远程主机可以连接:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-76AHBY9T-1579498620294)(_v_images/20200120103050715_28564.png)]

点击test,连接10.200.112.103这台主机,会跳出一个新的vscode窗口,提示输入密码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0SkqDbxQ-1579498620297)(_v_images/20200120103139354_25422.png)]

输入正确的密码后敲Enter,vscode界面左下角能够看到现在已经成功连上test这台主机
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JqXjMOJ5-1579498620298)(_v_images/20200120103430936_30191.png)]

现在就可以在vscode上像打开本地文件夹一样打开远程文件夹:

在这里插入图片描述

在这里插入图片描述
使用Ctrl + `呼出的shell也是远程服务器的shell

在这里插入图片描述

四、配置私钥登录

使用密码登录每次连接远程主机以及打开文件夹的时候都需要输入密码,很不方便,可以使用私钥代替密码登录

  1. 打开cmd,输入ssh-keygen生成rsa密钥对
C:\Users\yourhost>ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\yourhost/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\yourhost/.ssh/id_rsa.
Your public key has been saved in C:\Users\yourhost/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AcjUQ57H27hitTVVlqfLJiFnSt0+mcx/0ftipwfPjMk yourhost@xxxxxx
The key's randomart image is:
+---[RSA 3072]----+
|   o.+o       o. |
|    o.o+     o. .|
|      o.+  ... o |
|       . =o.= o  |
|        S.+= * +.|
|       . +... %..|
|      o o    + Xo|
|     . .      E.O|
|             ..=+|
+----[SHA256]-----+
  1. id_rsa.pub文件拷贝到远程主机

命令格式: scp <本地文件位置> user@ip:<远程文件位置>

这里是把 C:\Users\yourname.ssh\id_rsa.pub 文件通过ssh传到远程主机的\tmp目录下

D:\>scp C:\Users\yourname\.ssh\id_rsa.pub root@10.200.112.103:\tmp
root@10.200.112.103's password:
id_rsa.pub          100%  573    66.5KB/s   00:00
  1. 远程主机导入公钥
# 登录远程主机
D:\>ssh root@10.200.112.103

# 登录成功后,将公钥导入到authorized_keys文件
cat /tmp/id_rsa.pub  >> ~/.ssh/authorized_keys

注:可以使用ssh-copy-id工具更轻松地导入

  1. 验证通过私钥登录
ssh root@10.200.112.103 -i <id_rsa文件位置>

在这里插入图片描述

  1. 验证使用私钥可以成功登录后,更新vscode Remote-ssh的配置文件,添加IdentityFile参数,值为id_rsa文件的路径

在这里插入图片描述

以后不用输入密码就可以打开test这台主机了
在这里插入图片描述

如果有多台主机都想要用私钥登录,只需要重复刚才的步骤,将刚才生成的id_rsa.pub内容导入到远程主机的对应文件下,然后更新vscode Remote-ssh配置文件,新增IdentityFile即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值