MAC 链接 github 的时候发生Permission denied (publickey).

来源:互联网 发布:hp1022n网络打印驱动 编辑:程序博客网 时间:2024/06/05 05:18

重装 mac 后,ssh-keygen 生成公钥和密钥的时候,改了默认的文件名,以为没问题的,最后发现了下面的错误

Permission denied (publickey).

找了一下解决方法。
首先要找到原因。可以输入以下命令

ssh -T -v git@github.com

输入这个命令后一般会打印出来查找公钥的过程。

OpenSSH_7.4p1, LibreSSL 2.5.0debug1: Reading configuration data /etc/ssh/ssh_configdebug1: Connecting to github.com [192.30.255.113] port 22.debug1: Connection established.debug1: key_load_public: No such file or directorydebug1: identity file /Users/xxx/.ssh/id_rsa type -1debug1: key_load_public: No such file or directorydebug1: identity file /Users/xxx/.ssh/id_rsa-cert type -1debug1: key_load_public: No such file or directorydebug1: identity file /Users/xxx/.ssh/id_dsa type -1debug1: key_load_public: No such file or directorydebug1: identity file /Users/xxx/.ssh/id_dsa-cert type -1debug1: key_load_public: No such file or directorydebug1: identity file /Users/xxx/.ssh/id_ecdsa type -1debug1: key_load_public: No such file or directorydebug1: identity file /Users/xxx/.ssh/id_ecdsa-cert type -1debug1: key_load_public: No such file or directorydebug1: identity file /Users/xxx/.ssh/id_ed25519 type -1debug1: key_load_public: No such file or directorydebug1: identity file /Users/xxx/.ssh/id_ed25519-cert type -1debug1: Enabling compatibility mode for protocol 2.0debug1: Local version string SSH-2.0-OpenSSH_7.4debug1: Remote protocol version 2.0, remote software version libssh_0.7.0debug1: no match: libssh_0.7.0debug1: Authenticating to github.com:22 as 'git'debug1: SSH2_MSG_KEXINIT sentdebug1: SSH2_MSG_KEXINIT receiveddebug1: kex: algorithm: curve25519-sha256@libssh.orgdebug1: kex: host key algorithm: ssh-rsadebug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: nonedebug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: nonedebug1: expecting SSH2_MSG_KEX_ECDH_REPLYdebug1: Server host key: ssh-rsa SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8Host xxx-githubdebug1: Host 'github.com' is known and matches the RSA host key.debug1: Found key in /Users/xxx/.ssh/known_hosts:1debug1: rekey after 134217728 blocksdebug1: SSH2_MSG_NEWKEYS sentdebug1: expecting SSH2_MSG_NEWKEYSdebug1: SSH2_MSG_NEWKEYS receiveddebug1: rekey after 134217728 blocksdebug1: SSH2_MSG_SERVICE_ACCEPT receiveddebug1: Authentications that can continue: publickeydebug1: Next authentication method: publickeydebug1: Trying private key: /Users/xxx/.ssh/id_rsadebug1: Trying private key: /Users/xxx/.ssh/id_dsadebug1: Trying private key: /Users/xxx/.ssh/id_ecdsadebug1: Trying private key: /Users/xxx/.ssh/id_ed25519debug1: No more authentication methods to try.Permission denied (publickey).

从这个打印结果来看是由于我改了公钥的名字,导致找不到生成的公钥。这样的话,解决的方法很简单

一是,把公钥名字改为默认的
还有就是修改 /etc/.ssh/ssh_config 配置文件。

原创粉丝点击