云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

VScode配置之SSH远程控制

jxf315 2025-02-26 12:32:57 教程文章 30 ℃


前言:

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远程连接

  1. 点击远程资源管理器的图标
  2. 点击SSH设置按钮
  3. 选择一个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进行生成,不能自己新建私钥,不然会出现权限问题
  • 如果你的私钥设置了密码,那么你每次登录都要输入密码

Tags:

最近发表
标签列表