自上周以来,我的命令行git无法正常工作,我记得的是我将一个本地文件夹初始化为git版本控制,并为其添加一个远程git参考.然后我的git无法推或拉.表明:
git clone git@gitlab.xxx.com:xxx/myproj.git myproj
Cloning into 'myproj'...
Received disconnect from 192.168.xxx.xxx: 2: Too many authentication failures for git
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
有点奇怪的是,我在JetBrain Idea中的版本控制工作正常,它仍然可以拉动或推动那个无法拉入命令行的项目.
我之前已经将id_rsa.pub添加到gitlab,现在我再次重新添加它,但它不起作用.
我的ssh调试信息
ssh -v git@gitlab.xxx.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to gitlab.xxx.com [192.168.xxx.xxx] port 22.
debug1: Connection established.
debug1: identity file /Users/abc/.ssh/id_rsa type -1
debug1: identity file /Users/abc/.ssh/id_rsa-cert type -1
debug1: identity file /Users/abc/.ssh/id_dsa type -1
debug1: identity file /Users/abc/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA d7:11:d8:62:a6:30:1d:4a:c7:f1:99:bd:ba:54:de:60
debug1: Host 'gitlab.corp.com' is known and matches the RSA host key.
debug1: Found key in /Users/abc/.ssh/known_hosts:127
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn0
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn6
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn1
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn2
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn5
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn8
Received disconnect from 192.168.100.218: 2: Too many authentication failures for git
abc@LiuzhMacbook:~/.ssh$
abc@LiuzhMacbook:~/.ssh$ ls
authorized_keys id_rsa known_hosts tmp/
abc@LiuzhMacbook:~/.ssh$ rm known_hosts
abc@LiuzhMacbook:~/.ssh$ ssh -v git@gitlab.corp.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to gitlab.corp.com [192.168.100.218] port 22.
debug1: Connection established.
debug1: identity file /Users/abc/.ssh/id_rsa type -1
debug1: identity file /Users/abc/.ssh/id_rsa-cert type -1
debug1: identity file /Users/abc/.ssh/id_dsa type -1
debug1: identity file /Users/abc/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA d7:11:d8:62:a6:30:1d:4a:c7:f1:99:bd:ba:54:de:60
The authenticity of host 'gitlab.corp.com (192.168.100.218)' can't be established.
RSA key fingerprint is d7:11:d8:62:a6:30:1d:4a:c7:f1:99:bd:ba:54:de:60.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gitlab.corp.com,192.168.100.218' (RSA) to the list of known hosts.
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn0
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn6
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn1
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn2
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn5
debug1: Authentications that can continue: publickey,password,hostbased
debug1: Offering RSA public key: /Users/abc/.ssh/id_rsa.cn8
Received disconnect from 192.168.100.218: 2: Too many authentication failures for git
Run Code Online (Sandbox Code Playgroud)
您可以使用不同的ssh url来引用所需的正确公钥/私钥.
在HOME/.ssh中添加一个名为config的文件:
Host mygitlab
Hostname gitlab.xxx.com
User git
IdentityFile ~/.ssh/id_rsa.gitlab
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)
并更改您的网址:
git clone mygitlab:xxx/myproj.git myproj
Run Code Online (Sandbox Code Playgroud)
这样,您可以避免使用ssh尝试的每个键的默认ssh行为.
首先设置你的 ssh 密钥。
如果我们的密钥设置正确 - 尝试重新启动 ssh-agent
eval $(ssh-agent)
Run Code Online (Sandbox Code Playgroud)
您应该会看到进程的 PID,并且您的 r 键将加载。
要手动添加您的密钥,请使用:ssh-add. 这将从您的默认.ssh文件夹加载密钥
| 归档时间: |
|
| 查看次数: |
13631 次 |
| 最近记录: |