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博客

相关推荐
yangpipi-12 分钟前
vscode的配置
ide·vscode·编辑器
锦瑟弦音16 分钟前
vscode+platformio+arduion && 串口,wifi
ide·vscode·编辑器
大地的一角24 分钟前
(Linux)进程间通信
linux·运维·服务器
乾元24 分钟前
当奥本海默遇到图灵:AI 开启的网络安全新纪元
服务器·网络·人工智能·网络协议·安全·web安全
Flash.kkl7 小时前
Linux——进程信号
运维·服务器
苏宸啊9 小时前
Linux权限
linux·运维·服务器
我是小疯子669 小时前
Python变量赋值陷阱:浅拷贝VS深拷贝
java·服务器·数据库
xqhoj9 小时前
Linux——make、makefile
linux·运维·服务器
lifejump10 小时前
Pikachu | XXE
服务器·web安全·网络安全·安全性测试
Arwen30310 小时前
IP地址证书的常见问题有哪些?有没有特殊渠道可以申请免费IP证书?
服务器·网络·网络协议·tcp/ip·http·https