vscode通过ssh连接服务器实现免密登录

一、通过ssh连接服务器

1、打开vscode,进入拓展(Ctrl+Shift+X),下载拓展Remote - SSH。

2、点击远程资源管理器选项卡,选择远程(隧道/SSH)类别。

3、点击SSH配置。

4、在中间上部分弹出的配置文件中点击第一个....config。

5、在点进的config文件中输入以下内容。

ps:

这里的hostname是服务器的ip地址;

port端口号有就写上,没有的话可以不写;

user是服务器上用户的用户名

(例如:Linux中 "用户名"+@+"服务器ip地址" 就是访问服务器上用户的服务器用户访问地址。)

6、点击保存后点击刷新按钮。

7、这时候就可以看到刚刚创建的配置了。

8、Ctrl + Shift + P,打开命令窗口,输入ssh connect to host,选择第一个,

9、选择刚刚创建好的那个配置。

10、询问是否保存known_hosts,选择Continue。

11、输入服务器上用户的密码

12、该用户第一次访问该服务器可以看到该提示信息,耐心等待,这时是插件在服务器上面安装需要的依赖,大约会占用服务器150mb左右的空间。

13.如果长时间都一直是该情况,可以使用Ctrl + Shift + P,打开命令窗口,输入reload window来重新加载窗口(会要求你重新手动输入密码)。

14.最终显示如下页面就代表已经连接成功了。

二、设置免密登录

1、生成ssh使用的公钥/密钥对。(公钥给服务器用,秘钥给自己客户端用)

在[vscode终端](https://so.csdn.net/so/search?q=vscode%E7%BB%88%E7%AB%AF&spm=1001.2101.3001.7020)或者cmd中进行如下代码输入

(1)直接使用终端在用户本机生成公钥和私钥。输入命令ssh-keygen -t rsa

undefined 复制代码
ssh-keygen -t rsa

 
 
 代码解读

(2)终端会出现以下提示,可以自己定义密钥名(就是自己定义文件所在位置),也可以直接跳过,默认在C盘中的C:\Users\"用户名"\.ssh中。

cobol 复制代码
 
 
 
  
* 
     
     
     
      
      
      
     
     
     

     
     
     

      
      
      
       
       Generating public
       
       /private rsa 
       
       key pair.
      
      
      
     
     
     

  
* 
     
     
     
      
      
      
     
     
     

     
     
     

      
      
      
       
       Enter 
       
       file 
       
       in which 
       
       to save the 
       
       key (
       
       /Users
       
       /~your-local-username~
       
       /.ssh
       
       /id_rsa):
      
      
      
     
     
     

 

 
 
 代码解读

生成如下配置文件:

ps:

这里id_rsa.pub就是公钥,在服务器端使用;

id_rsa是私钥在用户端使用;

config文件是之前设置的hostname、port、user的那个文件

(3)接下来终端会提示输入密码 passphrase,这个密码为生成私钥的密码,将来防止私钥被其他人盗用。这里可以设定,也可以不输入任何密码,直接回车,再次提示输入密码,再次回车。生成新的密钥。

(4)在服务器路径下创建.ssh文件夹

bash 复制代码
 
 
 
  
* 
     
     
     
      
      
      
     
     
     

     
     
     

      
      
       
       
       # 创建目录
      
      
      
     
     
     

  
* 
     
     
     
      
      
      
     
     
     

     
     
     

      
      
       
       
       mkdir ~/.ssh
      
      
      
     
     
     

  
* 
     
     
     
      
      
      
     
     
     

     
     
     

      
      
       
       
       # 进入目录
      
      
      
     
     
     

  
* 
     
     
     
      
      
      
     
     
     

     
     
     

      
      
       
       
       cd ~/.ssh
      
      
      
     
     
     

  
* 
     
     
     
      
      
      
     
     
     

     
     
     

      
      
       
       
       # 创建 authorized_keys 文件
      
      
      
     
     
     

  
* 
     
     
     
      
      
      
     
     
     

     
     
     

      
      
       
       
       touch authorized_keys
      
      
      
     
     
     

 

 
 
 代码解读
csharp 复制代码
# 把公钥文件id_rsa.pub拷贝到需要登录的服务器上(存储路径可以随意,但是之后加入到另一个文件尾部的时候注意路径地址。)
 
 
 代码解读

(5)将公钥id_rsa.pub填充到authorized_keys尾部

bash 复制代码
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
 
 
 代码解读

(6)配置 SSH 客户端**(!!!!这里可以不设置。如果之前的步骤已经可以免密连接服务器,那这一步就不设置了!!!!)**

打开你的 SSH 客户端(本机)配置文件(也就是前面生成的config文件,一般在C:\Users\YourUsername\.ssh\config),添加配置(IdentityFile 私钥文件路径),以指定使用哪个私钥文件。下图红框为我添加的内容。

配置完成后即可免密远程登录其他服务器啦!!!~~~

三、删除ssh连接(慎用!!!删除了建立的连接就没有了!!)

需要在之前配置的文件夹中,找到config文件:

打开config文件删除内容即可,然后保存刷新。

参考博客:

https://blog.csdn.net/savet/article/details/131683156

服务器免密登录-CSDN博客

VSCode配置 SSH连接远程服务器+免密连接教程 - 知乎

Linux免密登录远程服务器_id_rsa.pub linux-CSDN博客

VSCode SSH远程连接与删除_vscode删除远程连接-CSDN博客

相关推荐
开压路机17 分钟前
Linux的基本指令
linux·服务器
lifewange31 分钟前
linux管理服务的命令有哪些
linux·运维·服务器
麒qiqi1 小时前
进程间通信(IPC):管道通信全解析
linux·运维·服务器
无奈笑天下2 小时前
银河麒麟V10虚拟机安装vmtools报错:/bin/bash解释器错误, 权限不够
linux·运维·服务器·开发语言·经验分享·bash
云飞云共享云桌面3 小时前
河北某机器人工厂8个研发设计共享一台SolidWorks云主机
运维·服务器·网络·数据库·算法·性能优化·机器人
m0_485614673 小时前
Linux-容器基础2
linux·运维·服务器
于齐龙3 小时前
2025年12月19日 - 操作系统
运维·服务器
QT 小鲜肉3 小时前
【Linux命令大全】001.文件管理之mattrib命令(实操篇)
linux·运维·服务器·chrome·笔记
杨了个杨89823 小时前
日志服务部署
运维·服务器
鸠摩智首席音效师4 小时前
如何在 Linux 上自动清理 Journalctl 日志 ?
linux·运维·服务器