1. 检查本地是否已有 SSH 密钥(可选)
ls -al ~/.ssh
如果能看到 id_rsa(私钥)和 id_rsa.pub(公钥),说明已有密钥,可直接跳到步骤 3;如果没有,执行步骤 2 生成新密钥。
2.生成新的 ssh 密钥对
ssh-keygen -t ed25519 -C "your_email@example.com"
- -t ed25519:指定密钥加密算法(比 RSA 更安全,推荐使用;如果系统不支持,可替换为 rsa -b 4096)。
- -C:添加备注(通常用邮箱,方便识别密钥归属)。
执行后会出现以下提示,全部按回车默认即可:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/你的用户名/.ssh/id_ed25519): 【回车】
Enter passphrase (empty for no passphrase): 【回车,可选设置密码(每次用 SSH 需输入),新手建议留空】
Enter same passphrase again: 【回车】
3.复制本地公钥内容
- mac/linux
cat ~/.ssh/id_ed25519.pub
# 或直接复制到剪贴板(Mac)
pbcopy < ~/.ssh/id_ed25519.pub
# Linux(需安装 xclip)
xclip -sel clip < ~/.ssh/id_ed25519.pub
如果出现错误的话,重新确认以下信息:
#要是确认生成了公钥文件,用正确文件名重新复制:
# 替换成实际公钥文件名,比如 id_ed25519.pub
cat ~/.ssh/实际公钥文件名.pub
- windows(Git Bash)
cat ~/.ssh/id_ed25519.pub
# 手动复制输出的全部内容(以 ssh-ed25519 开头,邮箱结尾)
⚠️ 注意:复制时要确保完整,不要遗漏或多空格,公钥格式示例:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINxxxxxxxxx/xxxx your_email@example.com
4.将公钥添加到 GitLab 账户
5. 验证 SSH 配置是否成功
回到终端,执行以下命令验证连接:
ssh -T git@gitlab.com
首次连接会提示确认主机指纹,输入 yes 回车:
The authenticity of host 'gitlab.com (172.65.251.78)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
如果输出以下内容,说明配置成功:
Welcome to GitLab, @你的GitLab用户名!
常见问题解决
chmod 600 ~/.ssh/id_ed25518
ssh-keygen -t ed25518 -C "你的邮箱"
执行时,注意看密钥保存路径提示(默认是 ~/.ssh/ ),如果之前改过路径,要记准实际保存位置。
执行 ls -al ~/.ssh ,列出 .ssh 目录下所有文件,看看有没有类似 id_ed25519(私钥)和 id_ed25519.pub(公钥)的文件。
- 如果有:可能是文件名输错(比如大小写、后缀),确认后用正确文件名复制,比如 cat ~/.ssh/正确公钥文件名.pub 。
- 如果没有:说明密钥没生成成功,重新执行 ssh-keygen 流程,确保一路回车或正确设置,生成完整密钥对。
要是确认生成了公钥文件,用正确文件名重新复制:
文件名是「你给本地文件起的名字」,想叫啥叫啥,只要后续操作对应上就行
# 替换成实际公钥文件名,比如 id_ed25518.pub
cat ~/.ssh/实际公钥文件名.pub
手动选中输出的公钥内容(从 ssh-ed25518 开头到邮箱结尾),右键复制,再粘贴到 GitLab 的 SSH Keys 配置里。
如果重新执行 ssh-keygen ,注意观察过程:
- 别手动改保存路径,用默认的 ~/.ssh/ ,避免找不到文件。
- 如果之前设置过密码(passphrase),输入时注意记录,后续用 SSH 可能要输。
总结
配置完成后,你克隆、推送、拉取 GitLab 仓库时,使用 SSH 地址就无需输入账号密码,操作更便捷。




