Git生成SSH Key并添加到 Gitlab/Github

Windows上Git生成SSH Key,并将其添加到远程服务器。

一、生成目标密匙/公匙

# 1. 设置用户名/邮箱
git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@example.com"

# 验证设置是否生效
git config --global --list

# 2. 生成 SSH Key,有两种算法:rsa 或 ed25519,两种算法都可以,新版推荐 ed25519
# 2-1. rsa 方案(旧算法),输入后一路Enter
ssh-keygen -t rsa -f $env:USERPROFILE\.ssh\id_rsa -C "your_email@example.com"

# 2-2. ed25519 方案(新算法,推荐方案),输入后一路Enter
ssh-keygen -t ed25519 -f $env:USERPROFILE\.ssh\id_ed25519_v1 -C "your_email@example.com"

# 3. 执行成功之后会在 ~/.ssh 路径下生成对应的公匙和私匙,将.pub 中的内容拷贝放到Gitlab/Github中的SSH Key位置即可

# 4. 测试是否成功
# 4-1. 测试 github 
ssh -T git@github.com
# 4-2. 测试部署私有的Gitlab,@后应修改成对应的域名,如链接 https://xxxxxxx/ 对应的域名为:xxxxxxx
ssh -T git@xxxxxxx

【注意】:
ssh-keygen 命令中的参数解释:

  • -t:后接加密算法的类型,当前推荐为 ed25519
  • -f:后面控制生成公匙和私匙的具体位置和名称,无该选项的话,会默认在.ssh目录下生成对应的 id_xxx, 因此增加该选项以避免和已有的公匙重名,导致覆盖的问题。
  • -C:后面是一些写入到公匙中的注释内容,主要方便用户识别和查看,无实际的作用

二、配置 ~/.ssh/config 文件

生成密匙、公匙之后,还需要添加对应的配置,尤其是在当前设备有多个连接的密匙/公匙的时候,让其能正常找到对应的密匙,配置一般如下

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_github
    IdentitiesOnly yes
	
Host corpGitlab
    HostName xxxxxx
    User git
    Port 222
    IdentityFile ~/.ssh/id_ed25519_gitlab
    IdentitiesOnly yes

  • Host:可以是自定义的,用来表示哪个服务器
  • HostName:对应域名,即 ssh 链接里面可以查询
  • IdentityFile:密匙的名称
  • Port:ssh协议对应的端口默认是22,非默认值的时候可以写上
posted @ 2026-01-19 15:30  Jeffxue  阅读(185)  评论(0)    收藏  举报