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,非默认值的时候可以写上
浙公网安备 33010602011771号