前言:
Visual Studio Code是一款轻量级,简洁,优雅的代码编辑器,最近在学习socket编程需要Linux环境,但又因为vim、nano编辑器编写代码不够方便,于是就有了用VsCode实现远程编写的想法。
刚好Vs Code中的Remote-SSH插件可以很好的支持这一想法!
安装之前的准备
由于我们是使用 SSH 连接远程服务器,因此 Windows 需要支持 SSH 。
可以通过安装 Git 来获取 SSH 功能,如何验证?使用 Win + R ,输入 cmd 打开控制窗口,直接输入 ssh ,如下提示,则代表 SSH 已经安装成功
VsCode安装Remote-SSH插件
使用 VSCode 最方便的一点,就是有很多插件可供选择。
本次我们需要使用 Remote - SSH 插件,长这个样子,不要搞错了
安装完插件后,在侧边栏可以看到 “远程资源管理器” 图标
进行SSH远程连接
- 点击远程资源管理器的图标
- 点击SSH设置按钮
- 选择一个SSH配置文件进行配置
配置文件的格式为上图所示
- Host:自己定义一个服务器的名字
- HostName:服务器的IP地址
- User:SSH登录名
- Port:SSH连接的端口(更改过ssh端口则加上这一项)
- IdentityFile:"私钥的文件路径"(配置了私钥则加上这一项)
常规操作:使用密码登录远程服务器
配置完文件后ctrl+s进行保存
然后这边就会出现你配置的服务器了
会弹出新窗口连接远程服务器 新窗口上方会弹出需要你输入密码 输入后回车确认(使用账密的连接方式每次都需要输入密码)
然后会弹出一个新的VSCode窗口,第一次连接需要一点时间,会提示输入远程机器的操作系统类型,这里选择Linux
等待一会按照依赖后即可成功
注意要点
- 每次连接远程都需要输入密码
- 连接新服务器插件需要重新安装插件
- 有些插件不适配远程开发模式
进阶操作:使用SSH公钥登录服务器
在Win10终端下,使用下面命令生成SSH Key
ssh-keygen -t rsa -b 4096 -f %USERPROFILE%/.ssh/debian_rsa
- 选择生成地址(直接默认按Enter就好)
- 提示输入passphase,直接回车就行,最后会生成key文件,即debian_rsa.pub
- 生成成功
[root@luoyuan home]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:krJf6ba/R57GFv5DQKWSXwfd5IymCAa/KbX0lt2/JxY root@luoyuan
The key's randomart image is:
+---[RSA 2048]----+
| . .ooo|
| o ... =o|
| * o.. + +|
| = * *.= . |
| . + S = +.. |
| o o o o E. |
| . o = + ..|
| . o. O + o|
| ..ooo= o.+.|
+----[SHA256]-----+
运行效果图
在 C/User/用户/.ssh 文件夹下的公钥和私钥文件
(3)将公钥文件( id_rsa.pub )上传至服务器
首先用管理员打开PowerShell,切换至.ssh文件夹
cd C:\Users"你的用户名".ssh
接下来使用SCP命令将公钥文件上传至服务器root文件夹
scp id_rsa.pub "你的服务器用户名"@"你的服务器地址":/root
上传完成的界面,上传的过程中会需要输入服务器的密码等常规操作
如果需要设定上传的端口,则代码如下所示(注意P大写):
scp -P "端口号" id_rsa.pub "你的服务器用户名"@"你的服务器地址":/root
(4)将公钥录入服务器 .ssh目录下的authorized_keys文件中
使用Putty或者PowerShell等工具进入服务器(也可以用前文的方法用VS Code进入服务器),并输入以下代码
cd /root //切换至root文件夹 cat id_rsa.pub >> .ssh/authorized_keys // 将公钥添加进authorized_keys文件
在PowerShell中的录入操作截图,详细操作可在各大搜索引擎找到
此时公钥就已经被导入到服务器中了,使用VS Code进入服务器就可以直接进入了(当然此时用PowerShell进入也不需要密码了,因为公钥和私钥是与电脑绑定的)
特别注意:
- 使用私钥登录一定要用ssh进行生成,不能自己新建私钥,不然会出现权限问题
- 如果你的私钥设置了密码,那么你每次登录都要输入密码