如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。
公司一个 gitlab 代码仓库;个人一个 github 代码仓库;
然后最近 github 本来就慢,被河蟹
之后丢包更严重了。所以为了不影响使用,又加了个国内码云 gitee
;
正巧重新配了下 仓库秘钥,做个记录方便之后换机器、重置系统再用。
为了方便说明,我假设需要重新配置全部秘钥。如果机器上已经配置好其它秘钥,直接生成新的秘钥(注意不要覆盖
已经生成好
的秘钥)
使用终端 ssh命令 生成 rsa秘钥
ssh-keygen -t rsa -C “邮箱地址1” -f ~/.ssh/id_rsa_github
-f 为秘钥存放地址。默认为当前路径
。一直回车下去,过程如下:
此时~/.ssh
目录下会生成2个文件,分别对应 公钥id_rsa_github.pub
和 私钥id_rsa_github
。
打开公钥文件,复制里面内容。
vim id_rsa_github.pub
登陆 git服务器
(这里以github举例)。 github账户 > setting选项 > SSH and GPG keys,把 公钥字符串
粘贴里面的key输入框中,保存退出即可。
通过命令 ssh -T git@github.com
测试,
如果出现上图提示,说明秘钥添加成功。
我们重复步骤 生成秘钥
、将公钥告诉git服务器
生成并配置新的秘钥后。
在 .ssh
目录下面新建 config文件
,文件内容如下:
配置以下内容:
Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_github user coderdao Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_gitee user coderdao
HostName 指定秘钥使用域名,就能区分不同域名之间使用秘钥不同
保存后,测试 ssh -T git@github.com
、ssh -T git@gitee.com
上图所示,即配置多个git秘钥配置成功
如果配置 config
文件后,未能生效。本地 git
软件的配置存在缓存,可使用以下命令判断秘钥是否生效:
$ cd ~/.ssh $ eval $(ssh-agent) Agent pid 3593 $ exec ssh-agent bash $ ssh-add ~/.ssh/id_rsa_github Identity added: /c/Users/Administrator/.ssh/id_rsa_github $ ssh -T git@github.com Hi coderdao! You've successfully authenticated, but GitHub does not provide shell access.