如何配置 GitLab SSH Key
使用 SSH 密钥对是与 GitLab 进行安全交互的推荐方式,它允许您在不每次输入用户名和密码的情况下,通过 SSH 协议克隆、拉取和推送代码。本文将详细指导您如何配置 GitLab SSH Key。
1. 生成新的 SSH 密钥对
首先,您需要在本地机器上生成一个新的 SSH 密钥对。强烈建议使用 Ed25519 算法以获得更好的安全性。如果您的系统不支持 Ed25519,也可以选择 RSA。
- 推荐:使用 Ed25519 算法
bash
ssh-keygen -t ed25519 -C "[email protected]" - 备选:使用 RSA 算法 (4096 位)
bash
ssh-keygen -t rsa -b 4096 -C "[email protected]"
请将"[email protected]"替换为您在 GitLab 上注册的邮箱地址。
当系统提示您输入文件保存位置时,可以直接按 Enter 键接受默认位置(例如:~/.ssh/id_ed25519 或 ~/.ssh/id_rsa)。
重要提示: 在提示输入密码时,强烈建议您设置一个强密码。这将为您的私钥提供额外的安全保护。每次使用私钥时都需要输入此密码,但通过 SSH 代理可以简化此过程。
2. 启动 SSH 代理并添加您的私钥
SSH 代理 (ssh-agent) 可以管理您的 SSH 密钥,并将它们存储在内存中,这样您就不必在每次使用密钥时都输入密码。
-
启动 SSH 代理:
bash
eval "$(ssh-agent -s)"
此命令会在后台启动ssh-agent。 -
将您的私钥添加到 SSH 代理:
bash
ssh-add ~/.ssh/id_ed25519
如果您生成的是 RSA 密钥,请使用ssh-add ~/.ssh/id_rsa。
此时,系统会提示您输入之前为私钥设置的密码。
可选:配置 ~/.ssh/config 文件以自动添加密钥
为了让您的密钥在每次登录时自动添加到 SSH 代理,您可以编辑或创建 ~/.ssh/config 文件:
Host *
AddKeysToAgent yes
UseKeychain yes
UseKeychain yes 选项主要适用于 macOS 用户,用于将密码存储在系统钥匙串中。
3. 复制您的公共 SSH 密钥
您需要复制公共密钥的内容,以便将其添加到 GitLab。
- 对于 Ed25519 密钥:
bash
cat ~/.ssh/id_ed25519.pub - 对于 RSA 密钥:
bash
cat ~/.ssh/id_rsa.pub
复制终端中显示的所有内容。它通常以ssh-ed25519或ssh-rsa开头,并以您的邮箱地址结尾。
4. 将公共密钥添加到 GitLab
- 登录到您的 GitLab 账户。
- 在右上角,点击您的用户头像。
- 选择 Edit profile (编辑个人资料) 或 Preferences (偏好设置)。
- 在左侧导航栏中,选择 SSH Keys。
- 在 Key (密钥) 文本框中,粘贴您在上一步中复制的完整公共密钥内容。
- 为您的密钥添加一个描述性的 Title (标题),例如 “My Laptop SSH Key” (我的笔记本电脑 SSH 密钥)。
- (可选)您可以为密钥设置一个 Expiration date (过期日期)。
- 点击 Add key (添加密钥)。
5. 测试您的 SSH 连接
为了验证您的 SSH 密钥是否已正确配置并与 GitLab 连接成功,请打开终端并运行以下命令:
bash
ssh -T [email protected]
如果一切设置正确,您应该会看到一条欢迎信息,表明您已成功通过身份验证。如果系统提示您确认主机指纹的真实性,请输入 yes 并按 Enter。
通过遵循这些步骤,您应该能够成功配置 GitLab SSH Key,从而实现更安全、便捷的 Git 操作。