今天手贱,升级了自己的mac系统,结果git无法从远程服务器拉取代码了,报错:
bogon:aaa$ git pull
git@git.aaa.cn: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
然后我试了下ssh,一样是Permission denied,
于是我使用ssh -v参数查看了下过程:
bogon:.ssh yodo1$ ssh -v user@1.1.1.1
OpenSSH_7.8p1, LibreSSL 2.7.3
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: Connecting to 1.1.1.1 [1.1.1.1] port 22.
debug1: Connection established.
...............
debug1: Skipping ssh-dss key /Users/yodo1/.ssh/id_dsa - not in PubkeyAcceptedKeyTypes
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/yodo1/.ssh/id_rsa
debug1: Trying private key: /Users/yodo1/.ssh/id_ecdsa
debug1: Trying private key: /Users/yodo1/.ssh/id_ed25519
debug1: Trying private key: /Users/yodo1/.ssh/id_xmss
debug1: No more authentication methods to try.
user@1.1.1.1: Permission denied (publickey).
查询了一下,好像现在ssh不推荐使用dsa加密的秘钥,但是处于一些原因无法更换,所以:
1.打开ssh_config文件:
vim /etc/ssh/ssh_config
2.将如下设置添加到ssh_config末尾:
PubkeyAcceptedKeyTypes +ssh-dss
3.保存后,执行ssh 登录,使用正常。