生成 SSH 密钥是一项重要的安全措施,用于在客户端和服务器之间建立加密连接。以下是在 Windows 和 Linux 系统上生成 SSH 密钥的详细步骤。
一、在 Linux 上生成 SSH 密钥
Linux 通常预装了 ssh-keygen
工具,可以通过以下步骤生成 SSH 密钥:
-
打开终端
-
运行
ssh-keygen
命令ssh-keygen -t ed25519 -C "your_email@example.com"
说明:
-t ed25519
指定密钥类型为 ED25519(推荐),你也可以使用rsa
类型,例如-t rsa -b 4096
。-C "your_email@example.com"
是一个标签,用于标识该密钥。
-
设置密钥保存位置
默认情况下,密钥会保存在
~/.ssh/id_ed25519
和~/.ssh/id_ed25519.pub
。按回车键接受默认位置,或者指定其他路径。 -
设置密码短语
输入一个安全的密码短语(推荐),以增加密钥的安全性。你也可以留空,但不建议这样做。
-
完成生成
生成完成后,你会看到类似如下的信息:
Your identification has been saved in /home/username/.ssh/id_ed25519 Your public key has been saved in /home/username/.ssh/id_ed25519.pub
-
查看生成的公钥
cat ~/.ssh/id_ed25519.pub
将显示的内容复制到你需要使用公钥的服务器或服务中(例如 GitHub、GitLab 等)。
二、在 Windows 上生成 SSH 密钥
Windows 上有多种生成 SSH 密钥的方法,以下介绍两种常用方法:使用 PowerShell 的 OpenSSH 工具和使用 PuTTYgen。
方法一:使用 PowerShell 的 OpenSSH 工具
-
打开 PowerShell
按
Win + X
,选择 Windows PowerShell 或 Windows Terminal。 -
检查 OpenSSH 是否已安装
输入以下命令查看
ssh-keygen
是否可用:ssh-keygen -V
如果显示版本信息,表示已安装。如果未安装,可以通过以下步骤安装:
- 安装 OpenSSH 客户端
- 打开 设置 > 应用 > 可选功能。
- 点击 添加功能。
- 搜索 OpenSSH 客户端,点击 安装。
- 安装 OpenSSH 客户端
-
运行
ssh-keygen
命令ssh-keygen -t ed25519 -C "your_email@example.com"
参数说明同 Linux。
-
设置密钥保存位置
默认保存路径为
C:\Users\YourUsername\.ssh\id_ed25519
。按回车键接受默认路径或指定其他路径。 -
设置密码短语
输入并确认密码短语。
-
完成生成
生成完成后,公钥位于
C:\Users\YourUsername\.ssh\id_ed25519.pub
。 -
查看生成的公钥
Get-Content ~/.ssh/id_ed25519.pub
将内容复制到需要的服务器或服务中。
三、将公钥添加到服务器
无论是在 Linux 还是 Windows 上生成的公钥,添加到服务器的步骤大致相同:
-
复制公钥内容
- 在 Linux 上:
cat ~/.ssh/id_ed25519.pub
- 在 Windows 上:
- 使用 PowerShell:
Get-Content ~/.ssh/id_ed25519.pub
- 使用git bash:
cat ~/.ssh/id_ed25519.pub
- 使用 PowerShell:
- 在 Linux 上:
-
将公钥复制到gitlab或者github等仓库与服务器