GitLab 配置 SSH 密钥完整教程

前言

在使用 GitLab 进行代码管理时,配置 SSH 密钥可以让我们免去每次推送/拉取代码时输入用户名和密码的麻烦。本文将详细介绍如何在 Windows 系统下配置 GitLab 的 SSH 密钥。

一、配置 Git 用户信息

首先,打开 CMD 命令提示符 或 PowerShell,配置你的 Git 全局用户名和邮箱:

git config --global user.name "你的用户名"

git config --global user.email "你的邮箱"

> 说明:这里的用户名和邮箱建议与你的 GitLab 账户保持一致。

二、生成 SSH 密钥对

执行以下命令生成 RSA 密钥对:

ssh-keygen -t rsa -b 4096 -C "你的邮箱"

参数说明:

  • -t rsa:指定密钥类型为 RSA
  • -b 4096:指定密钥长度为 4096 位(更安全)
  • -C:添加注释,通常使用邮箱作为标识

执行后会提示:

  1. 输入密钥保存路径(直接回车使用默认路径)
  1. 输入密钥密码(可直接回车跳过,不设置密码)
  1. 确认密码(再次回车)

三、找到公钥文件

生成的密钥对默认保存在以下路径:

C:\Users\你的用户名\.ssh\

该目录下会有两个文件:

  • id_rsa:私钥文件(请妥善保管,不要泄露!)
  • id_rsa.pub:公钥文件(需要添加到 GitLab)

四、添加公钥到 GitLab

  1. 用记事本或其他编辑器打开 id_rsa.pub 文件
  1. 复制全部内容(以 ssh-rsa 开头,以邮箱结尾)
  1. 登录 GitLab 网站
  1. 点击右上角头像 → Settings(设置)
  1. 在左侧菜单找到 SSH Keys
  1. 将复制的公钥内容粘贴到 Key 输入框
  1. 填写一个 Title(如:我的工作电脑)
  1. 点击 Add key 按钮

五、验证配置

配置完成后,可以通过以下命令验证是否成功:

ssh -T git@你的gitlab域名

如果看到类似 Welcome to GitLab, @用户名! 的提示,说明配置成功!

六、克隆代码

现在就可以使用 SSH 方式克隆代码了:

git clone git@gitlab.xxx.com:group/project.git

常见问题

Q1:提示 "Permission denied (publickey)"

  • 检查公钥是否正确添加到 GitLab
  • 确认私钥文件权限是否正确
  • 尝试使用 ssh-add 命令添加私钥

Q2:已有 SSH 密钥,不想覆盖怎么办?

可以在生成时指定不同的文件名,然后在 ~/.ssh/config 中配置多个密钥。

总结

步骤 命令/操作
1. 配置用户名 git config --global user.name "xxx"
2. 配置邮箱 git config --global user.email "xxx@xxx.com"
3. 生成密钥 ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com"
4. 添加公钥 复制 id_rsa.pub 内容到 GitLab SSH Keys
5. 拉取代码 git clone git@gitlab.xxx.com:xxx/xxx.git

希望这篇教程对你有帮助!如有问题欢迎评论区交流~ 🎉

相关推荐
Suchadar18 小时前
Linux计划任务进程
linux·运维·服务器
食咗未18 小时前
Linux microcom工具的使用
linux·运维·服务器·驱动开发·串口调试
YYYing.19 小时前
【计算机网络 | 第四篇】路由与NAT技术
运维·服务器·网络·网络协议·计算机网络
感觉不怎么会19 小时前
ubuntu - 搭建TR069平台问题(Open ACS)
linux·运维·ubuntu
oh,huoyuyan19 小时前
火语言RPA随机访问网址 + 随机时长停留 自动化循环案例分享
运维·自动化·rpa
宴之敖者、19 小时前
Linux——初始Linux系统
linux·运维·服务器
独自破碎E19 小时前
在Linux系统中如何使用ssh进行远程登录?
linux·运维·ssh
电子_咸鱼19 小时前
Linux IPC 实战:管道与共享内存的使用场景 + 底层原理全剖析
linux·运维·服务器·开发语言·网络·vscode·qt
HIT_Weston19 小时前
96、【Ubuntu】【Hugo】搭建私人博客:搜索功能(一)
linux·运维·ubuntu
咕噜企业分发小米20 小时前
如何用云服务器搭建PUBG服务器?
运维·服务器