zoukankan      html  css  js  c++  java
  • git连接报错:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

      在Linux上已经安装过git(自己搭建)了,本机(windows)想连接过去,通过git bash敲了下clone命令提示没权限:

    $ git clone git@111.11.111.11:code.git
    Cloning into 'code'...
    The authenticity of host '111.11.111.11 (111.11.111.11)' can't be established.
    ECDSA key fingerprint is SHA256:7jmL7Nrr9zJ7psJd3Zcfr4UckRNOMkgwK/ae9dsCgaw.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '111.11.111.11' (ECDSA) to the list of known hosts.
    git@111.11.111.11's password:
    Connection closed by 111.11.111.11 port 22
    fatal: Could not read from remote repository.
    
    Please make sure you have the correct access rights
    and the repository exists.

      第一次连接失败很正常,毕竟没有设置账号信息,但第二次连接敲了自己刚设置的密码,竟然一直提示没权限

    $ git clone git@111.11.111.11:code.git
    Cloning into 'code'...
    git@111.11.111.11's password:
    Permission denied, please try again.
    git@111.11.111.11's password:
    Permission denied, please try again.
    git@111.11.111.11's password:
    git@111.11.111.11: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,pas                                                                                                                sword).
    fatal: Could not read from remote repository.
    
    Please make sure you have the correct access rights
    and the repository exists.

      蒙圈了,密码对的啊。看下日志:

    $ ssh -vT git@111.11.111.11
    OpenSSH_7.6p1, OpenSSL 1.0.2n  7 Dec 2017
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: Connecting to 111.11.111.11 [111.11.111.11] port 22.
    debug1: Connection established.
    debug1: identity file /c/Users/wulf/.ssh/id_rsa type 0
    debug1: key_load_public: No such file or directory
    debug1: identity file /c/Users/wulf/.ssh/id_rsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /c/Users/wulf/.ssh/id_dsa type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /c/Users/wulf/.ssh/id_dsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /c/Users/wulf/.ssh/id_ecdsa type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /c/Users/wulf/.ssh/id_ecdsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /c/Users/wulf/.ssh/id_ed25519 type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /c/Users/wulf/.ssh/id_ed25519-cert type -1
    debug1: Local version string SSH-2.0-OpenSSH_7.6
    debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
    debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000
    debug1: Authenticating to 111.11.111.11:22 as 'git'
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: algorithm: curve25519-sha256
    debug1: kex: host key algorithm: ecdsa-sha2-nistp256
    debug1: kex: server->client cipher: aes128-ctr MAC: umac-64-etm@openssh.com comp                                                                                                                ression: none
    debug1: kex: client->server cipher: aes128-ctr MAC: umac-64-etm@openssh.com comp                                                                                                                ression: none
    debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
    debug1: Server host key: ecdsa-sha2-nistp256 SHA256:7jmL7Nrr9zJ7oooo5Zcfr4UckRNO                                                                                                                MkgwK/ae9dsCgaw
    debug1: Host '111.11.111.11' is known and matches the ECDSA host key.
    debug1: Found key in /c/Users/wulf/.ssh/known_hosts:14
    debug1: rekey after 4294967296 blocks
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug1: SSH2_MSG_NEWKEYS received
    debug1: rekey after 4294967296 blocks
    debug1: SSH2_MSG_EXT_INFO received
    debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mi                                                                                                                c,password
    debug1: Next authentication method: publickey
    debug1: Offering public key: RSA SHA256:gXnx5odooo7yK+Imse/ggjIzZdooooJwCU6T6PEy                                                                                                                spk /c/Users/wulf/.ssh/id_rsa
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mi                                                                                                                c,password
    debug1: Trying private key: /c/Users/wulf/.ssh/id_dsa
    debug1: Trying private key: /c/Users/wulf/.ssh/id_ecdsa
    debug1: Trying private key: /c/Users/wulf/.ssh/id_ed25519
    debug1: Next authentication method: password

      然后又死循环了,让我输入密码。看日志里这个c/Users/wulf/.ssh目录下有啥东西,就发现原来这里有我的公钥:

    $ cat /c/Users/wulf/.ssh/id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCf20s0rabgMRn8CCCCC/+VC/wS5x/dvIYoG+TP23bHWn9gD/AXizrkds5geX9AG90oVRqf+RfTvLFlaNMrzK

      公钥太长,上面就只是随便贴了点。后来才发现linux上的服务端git根本不认识你,因为你有的是你自己的密码,人家那还没有你的公钥呢,得去它那里设置一下。

      登陆linux下的111.11.111.11,把上面那段公钥贴到服务端authorized_keys里:

    vi /home/git/.ssh/authorized_keys

      贴好后保存后再去windows的git bash本地连下,这次ok了:

    $ git clone git@111.11.111.11:code.git
    Cloning into 'code'...
    warning: You appear to have cloned an empty repository.
  • 相关阅读:
    前端之HTML
    python 迭代器、生成器、装饰器
    python实现线程池
    Archiva与maven配置使用
    Jenkins在windows环境下安装无法安装插件
    ②Jenkins集成—集成构建部署
    linux环境下maven的安装配置
    linux环境下git的安装配置
    ①Jenkins集成—入门安装使用
    Ant build.xml相关属性详解
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/10538662.html
Copyright © 2011-2022 走看看