DingMing

丁大铭的个人空间,用来分享一些前端小技巧,默默成长吧,哈哈

VSCode免密登录服务器

  |  
 阅读次数

1 前言

在使用 vscode 的时候,我们经常会使用到 ssh 连接服务器,但是每次都要输入密码,很是麻烦,那么我们可以通过配置 ssh 免密登录服务器,这样就可以省去每次输入密码的麻烦了。

使用 vscode 登录服务器可以无需再打开多余的工具,直接在 vscode 中进行操作,非常方便。

使用 vscode 连接服务器,需要安装插件:Remote-SSH,放心使用,这个插件是微软官方出品的,不会有安全问题。

下面也会介绍 服务器之间的免密登录,这样就可以在服务器之间进行文件的拷贝了。

2 ssh 密钥介绍与生成使用

2.1 ssh 密钥介绍

SSH(Secure Shell)是一种用于在网络上安全登录和执行远程命令的协议。SSH 密钥是 SSH 协议中用于身份验证的一对密钥:私钥(private key)和公钥(public key)。

  • 私钥(private key):私钥是一份机密文件,由用户生成并保存在本地计算机上。私钥应该保持安全,只有拥有者可以访问。私钥用于对数据进行加密和签名,以证明身份。
  • 公钥(public key):公钥是由私钥生成的非机密文件,可以在网络上自由共享。公钥可以被任何人使用来加密数据或验证签名,但无法从公钥推导出私钥。
  • 身份验证:通过 SSH 密钥进行身份验证时,用户在连接远程服务器时使用私钥,而远程服务器会验证用户身份是否与公钥匹配。如果公钥与服务器上存储的相关记录匹配,用户将被授权访问服务器。
  • 安全性优势:与传统的口令身份验证相比,SSH 密钥具有更高的安全性。私钥保持在本地计算机上,不必在网络上传输密码。此外,SSH 密钥使用非对称加密,使得攻击者难以破解私钥从而获得访问权限。

2.2 客户端生成密钥

客户端生成密钥的方法很简单,只需要使用 ssh-keygen 命令。

1
ssh-keygen -t rsa -C "

生成密钥过程中,建议采用默认值,只需要按三次回车之后,就会再~/.ssh 目录下生成密钥文件,其中,id_rsa 为私钥,id_rsa.pub 为公钥。

2.3 服务器配置

服务器的~/.ssh/authorized_keys 文件保存可快速 连接的客户端的公钥。只需把客户端生成的 id_rsa.pub 文件的内容拷贝到 authorized_keys 文件的末尾。拷贝的方法有:

  1. 直接拷贝。由于 id_rsa.pub 和 authorized_keys 都是文本文件, 可通过拷贝命令直接拷贝。
  2. 把 id_rsa.pub 上传到服务器,然后再把内容添加到 authorized_keys 文件中。

或者

1
2
3
4
5
6
7
mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
echo "<公钥内容>" >> ~/.ssh/authorized_keys

请将 <公钥内容> 替换为之前复制的公钥内容(可以使用 pbpaste 命令将其粘贴到终端上)。

2.4 在客户端配置服务器登录相关参数

除了密码之外,登录时,还需要配置 ip 地址、端口、用户等信息,也比较繁琐。可通过客户端的 ~/.ssh/config 配置服务器的相关参数简化登录命令。

config 文件的配置内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
Host <服务器别名>
HostName <服务器ip地址>
Port <服务器端口>
User <服务器用户名>
IdentityFile <私钥文件路径>

---> 例如
Host test_server
HostName 192.168.0.1
User root
Port 22
IdentityFile ~/.ssh/id_rsa

这样配置好之后,登录服务器就不再需要密码了。

1
ssh test_server

从此以后,登录服务器就简单多了。

3 VSCode 连接服务器

1.首先安装 Remote-SSH 插件

2.点击左下角的

3.选择 Remote-SSH: Connect to Host…,然后选择 Add New SSH Host…,然后输入服务器的相关信息,如下图所示:

4.然后选择你的私钥文件,如下图所示:

5.然后就可以连接服务器了 进行文件的操作了