提交GIT代码报错没有权限的奇怪问题
笔者前两天重装了电脑系统,但有备份私钥和公钥的文件,结果提交代码时却报没有权限。
ssh-agent bash -c 'ssh-add /d/JTWO/DevelopKey; git push -u origin master'
因为笔者使用的是其他路径下的秘钥,还以为权限搞错了,结果移到~/.ssh
目录也这样。
使用ssh -vT git@1.2.3.4
命令查看详细日志,发现no mutual signature algorithm
错误。
放狗搜了一轮才知道新版的openssh已经默认不再支持ssh-rsa
算法啦,说是有安全隐患:
https://www.zdnet.com/article/openssh-to-deprecate-sha-1-logins-due-to-security-risk/
虽然我们可以换成其他的加密算法,但是笔者也就本地团队使用,就先重新启用ssh-rsa
好啦:
修改文件vi ~/.ssh/config
并添加一行配置PubkeyAcceptedKeyTypes +ssh-rsa
保存就行。