一直使用tortoiseGit来管理gitee的仓库代码,由于平时需要分别对公司gitee账号和个人gitee账号的仓库进行管理,在windows里登录了公司gitee账号后,如果再对个人gitee仓库进行管理,会报403错误,此时需要先到系统的凭据管理器里把系统保存的gitee凭据删除,再回到到代码里push或pull时,此时需要输入个人gitee账号密码,才能成功。如下次需要对公司gitee代码进行操作,需要重复上述操作,还是挺麻烦的。于是今天腾出个时间,要彻底解决这个问题。
例如目前的两个账号分别为:
公司账号:company@qq.com
个人账号:self@qq.com
1.分别为两个账号生成SSH key
打开git bash,输入以下代码,生成公司账号的ssh key
ssh-keygen -t rsa -C "company@qq.com" -f ~/.ssh/company
-t 指定要创建的密钥类型
-C 生成的sshkey名称,这里并不需要一定要跟gitee登录账号一致,只是指定sshkey的名称
-f 指定用来保存密钥的文件名,“~/.ssh”默认会报错到C:\Users\用户\ 下的.ssh文件夹下,也可以指定绝对路径
按照提示完成三次回车,即可生成 ssh key,如下图:
.pub文件为公钥文件,用代码编辑器编辑器打开,再复制里面的内容,到公司gitee账号的“设置”-“安全设置”-“SSH公钥”添加公钥
用相同的方式,为个人gitee账号生成ssh key,并添加到个人gitee账号的SSH公钥
2.创建并配置config文件
在.ssh目录下创建一个config文件(无后缀),输入以下内容
Host gitee.com HostName gitee.com IdentityFile ~/.ssh/company PreferredAuthentications publickey Host gitee_self.com HostName gitee.com IdentityFile ~/.ssh/self PreferredAuthentications publickey
3.测试ssh key是否配置成功
ssh -T git@gitee.com ssh -T git@gitee_self.com
结果看到自己码云上的名字了,就说明成功了,如下图所示:
4.配置tortoiseGit
1)复制仓库的SSH地址
2)在tortoiseGit里配置Remote时,URL填上刚复制的SSH地址,注意这里的git@gitee.com,后面的gitee.com要改成刚才config文件里配置的Host值,例如现在配置的是公司项目,就用git@gitee.com,如果现在配置的是个人项目,那就要改成git@gitee_self.com,后面不变,
然后需要在putty Key里导入ppk密钥文件(生成方法在后面),再点击Add New/Save即可完成配置。
其他账号的仓库代码使用相同的方式创建即可。
密钥文件的生成方法:
密钥文件的生成可以使用PuTTYgen软件来生成,我的是win11系统,自带有了这个软件。
打开puTTYgen,点击菜单栏的Conversions,再点击Import key导入刚才第一步生成的不带.pub后缀的文件(如company)
导入后,点击Save private key保存密钥文件
参考:
https://help.gitee.com/enterprise/code-manage/%E6%9D%83%E9%99%90%E4%B8%8E%E8%AE%BE%E7%BD%AE/%E9%83%A8%E7%BD%B2%E5%85%AC%E9%92%A5%E7%AE%A1%E7%90%86/Git%E9%85%8D%E7%BD%AE%E5%A4%9A%E4%B8%AASSH-Key
https://blog.csdn.net/weixin_38958597/article/details/102487333
https://www.dianjilingqu.com/564944.html