如果你的一台电脑上同时使用了github账号和gitlab账号,ssh默认会找id_rsa
这个私钥,所以可能会导致后使用的账号无法正常提交代码或clone代码的情况,如报错Permission denied (publickey).
,解决办法如下:
假设你已经分别为github账号和gitlab账号生成了ssh key,文件名分别为id_rsa_github
和id_rsa_gitlab
,并已经将公钥添加到你的github和gitlab账号。接下来配置config文件。
配置config文件
在{USER_HOME}/.ssh/
目录下,新建一个config文件,在文件中添加如下内容:
# For Github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
# For Gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
以上内容,需要根据自己的文件进行相应的修改;
测试
$ ssh -T git@github.com
Warning: Permanently added the RSA host key for IP address '13.250.177.223' to the list of known hosts.
Hi aitlp! You've successfully authenticated, but github does not provide shell access.
Michael@DESKTOP-BL9MF61 MINGW64 ~/.ssh
$ ssh -T git@gitlab.com
Hi weiyanzixun! You've successfully authenticated, but gitlab does not provide shell access.
注意,地址应该跟你配置的HOST一致,比如你的Host配置的是gitlab,你测试应该修改为ssh -T git@gitlab
,clone代码,pull代码都是这个地址。
如果是你本地已经有的项目,需要修改origin url,操作如下:
git remote rm origin
git remote add origin git@gitlab.com:aitlp/Spark.git
即,将地址更改为config对应的Host。
系列文章:
最新评论
网飞没问题, 迪士尼+有解决方案么?
pp助手是安卓手机用的,根本下载用不来苹果
已解决
这样的话数据库里的结构为{"attachment":{"content":"xxx"}}, 要怎么才能变成{"content":"xxx"},从而使结构保持一致?
赞! make test不过的坑都写到的,谢谢楼主~
谢谢你
用了root用户还是一直502是怎么回事呢
student id 是空的