前言:
和我问题相同的直接跳到最后
今天使用git通过ssh的方式clone公司项目出现如下问题: Permission denied, please try again. 但是我之前已经配置过了ssh秘钥,按理说不应该出现这个问题了,并且我通过https的方式clone是正常的,说明没有问题。
经过一番定位,发现是本地添加key的时候出现了问题,是添加到了session中而不是永久添加,
ssh方式
github和gitlab提供了更安全的方式,通过ssh的方式,不过需要一定的配置,接下来我们对配置进行详细讲解。
对配置步骤,以及其他一些问题,比如mac下配置完成,重新打开终端会需要重复添加的解决方案:
步骤一:生成key
如果已经有key,则可以跳过此步骤 使用rsa方式:
ssh-keygen -t rsa -b 4096 -C "email@example.com"
步骤二:添加key
eval $(ssh-agent -s)
ssh-add ~/.ssh/other_id_rsa
步骤三:拷贝key公钥
pbcopy < ~/.ssh/[公钥名称].pub
步骤四:将公钥填入gitlab或github
步骤五: 测试是否成功
ssh -T git@[你的域名]
出现下面即为成功:
补充: mac每次需要重复添加key处理:
目前的key其实是存储在一个session中的,每次重新打开都会消失,所以我们需要永久存储,网上有推荐执行下面的脚本:
ssh-add -K ~/.ssh/other_id_rsa
不过当前新版的mac已经将其作为废弃的版本了,如图: 所以我们按照提示,使用这个命令:
ssh-add --apple-load-keychain ~/.ssh/gitlab_turing
文章中有问题的地方辛苦大家在下面留言或者私信。
|