gitlab 添加 ssh key
2022-10-17
ssh key 配置
1.
# 一路回车(-C 参数是你的邮箱地址)
ssh-keygen -t rsa -C 'xxx@xxx.com'
2.
# 然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容
3.
# 如下密钥框中,填写 id_rsa.pub 内容;
4.
# 接下来就是测试拉取;ssh 密钥添加之后,使用 ssh方式拉取不用填写密码;
[egrade-hk@rancher tmp]$ git clone git@gitlab-hk.xxxxx.com:root/xxxxxx.git
Cloning into 'egradehkeks'...
The authenticity of host 'gitlab-hk.xxxx.com (18.xx.xx.xx)' can't be established.
ECDSA key fingerprint is SHA256:Tk3fEjfvTH+aR64w0YT5/oZQs/IdihsxNEchxeary1A.
ECDSA key fingerprint is MD5:6a:8f:20:ab:08:90:47:2a:d4:d2:5a:fe:41:86:83:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitlab-hk.xxxx.com,18.xx.xx.xx' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 8 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (8/8), done.
配置多个 ssh key
为公司生成一对秘钥ssh key
ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa
为github生成一对秘钥ssh key
复制ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa
在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id-rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id-rsa
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径
按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。
再次查看~/..ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件