gerrit setup git repo - 许可被拒绝

时间:2012-08-16 09:12:21

标签: git permissions public-key gerrit denied

我是gerrit的新手,我现在正在尝试将gerrit设置为一个git项目。我现在正在寻找解决权限被拒绝问题的帮助,感谢任何帮助,感谢提前。

我正在使用gerrit + http + mysql,我现在有以下问题:

  1. 当我检查我的数据库时,我找不到我的数据库中“system_config”的'login_type'和'login_http_head',其中描述了http://gerrit.googlecode.com/svn-history/r243/documentation/2.0/config-sso.html

  2. 当我点击admin->项目时,提示说“缺少项目所有项目”

  3. 当我从数据库中检查我的帐户时,有两个空用户(我认为这是因为我没有在UIweb页面中设置它们)

  4. 我无法从UIweb页面注册新帐户,我也无法使用命令行创建新用户。

  5. 以下是我的ssh-key步骤并注册:

    1. 我使用了ssh-keygen -t rsa -b 2048(来自互联网的Searchign,我不知道2048是什么意思)

    2. 我使用git config配置昵称和电子邮件,我在UIweb页面注册了ssh-key

    3. 使用ssh -p 29418 admin@localhost gerrit create-project --name example.git 我得到一个提示:“权限被拒绝(publickkey)。”

    4. 从互联网上搜索后,我使用了ssh -vv -p 29418 admin@localhost gerrit

    5. 我得到了以下输出:

      gerrit2@bst-esa3-bs:~$ ssh -vv -p 29418 admin@localhost gerrit --help
      
      OpenSSH_5.5p1 Debian-4ubuntu6, OpenSSL 0.9.8o 01 Jun 2010
      
      debug1: Reading configuration data /etc/ssh/ssh_config
      
      debug1: Applying options for *
      
      debug2: ssh_connect: needpriv 0
      
      debug1: Connecting to localhost [::1] port 29418.
      
      debug1: Connection established.
      
      debug2: key_type_from_name: unknown key type '-----BEGIN'
      
      debug2: key_type_from_name: unknown key type '-----END'
      
      debug1: identity file /home/gerrit2/.ssh/id_rsa type 1
      
      debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
      
      debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
      
      debug1: identity file /home/gerrit2/.ssh/id_rsa-cert type -1
      
      debug1: identity file /home/gerrit2/.ssh/id_dsa type -1
      
      debug1: identity file /home/gerrit2/.ssh/id_dsa-cert type -1
      
      debug1: Remote protocol version 2.0, remote software version GerritCodeReview_2.4.2 (SSHD-
      CORE-0.5.1-R1095809)
      
      debug1: no match: GerritCodeReview_2.4.2 (SSHD-CORE-0.5.1-R1095809)
      
      debug1: Enabling compatibility mode for protocol 2.0
      
      debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu6
      
      debug2: fd 3 setting O_NONBLOCK
      
      debug1: SSH2_MSG_KEXINIT sent
      
      debug1: SSH2_MSG_KEXINIT received
      
      debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-
      exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
      
      debug2: kex_parse_kexinit: ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-
      rsa,ssh-dss
      
      debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-
      cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-
      cbc@lysator.liu.se
      
      debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-
      cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-
      cbc@lysator.liu.se
      
      debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-
      ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
      
      debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-
      ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
      
      debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
      
      debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
      
      debug2: kex_parse_kexinit:
      
      debug2: kex_parse_kexinit:
      
      debug2: kex_parse_kexinit: first_kex_follows 0
      
      debug2: kex_parse_kexinit: reserved 0
      
      debug2: kex_parse_kexinit: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
      
      debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
      
      debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc
      
      debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc
      
      debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-md5-96,hmac-sha1-96
      
      debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-md5-96,hmac-sha1-96
      
      debug2: kex_parse_kexinit: none
      
      debug2: kex_parse_kexinit: none
      
      debug2: kex_parse_kexinit:
      
      debug2: kex_parse_kexinit:
      
      debug2: kex_parse_kexinit: first_kex_follows 0
      
      debug2: kex_parse_kexinit: reserved 0
      
      debug2: mac_setup: found hmac-md5
      
      debug1: kex: server->client aes128-cbc hmac-md5 none
      
      debug2: mac_setup: found hmac-md5
      
      debug1: kex: client->server aes128-cbc hmac-md5 none
      
      debug2: dh_gen_key: priv key bits set: 138/256
      
      debug2: bits set: 1040/2048
      
      debug1: sending SSH2_MSG_KEXDH_INIT
      
      debug1: expecting SSH2_MSG_KEXDH_REPLY
      
      debug1: Host '[localhost]:29418' is known and matches the RSA host key.
      
      debug1: Found key in /home/gerrit2/.ssh/known_hosts:1
      
      debug2: bits set: 1018/2048
      
      debug1: ssh_rsa_verify: signature correct
      
      debug2: kex_derive_keys
      
      debug2: set_newkeys: mode 1
      
      debug1: SSH2_MSG_NEWKEYS sent
      debug1: expecting SSH2_MSG_NEWKEYS
      
      debug2: set_newkeys: mode 0
      
      debug1: SSH2_MSG_NEWKEYS received
      
      debug1: Roaming not allowed by server
      
      debug1: SSH2_MSG_SERVICE_REQUEST sent
      debug2: service_accept: ssh-userauth
      
      debug1: SSH2_MSG_SERVICE_ACCEPT received
      
      debug2: key: /home/gerrit2/.ssh/id_rsa (0x7f23f313aff0)
      
      debug2: key: /home/gerrit2/.ssh/id_dsa ((nil))
      
      debug1: Authentications that can continue: publickey
      
      debug1: Next authentication method: publickey
      
      debug1: Offering public key: /home/gerrit2/.ssh/id_rsa
      
      debug2: we sent a publickey packet, wait for reply
      
      debug1: Authentications that can continue: publickey
      
      debug1: Trying private key: /home/gerrit2/.ssh/id_dsa
      
      debug2: we did not send a packet, disable method
      
      debug1: No more authentication methods to try.
      
      Permission denied (publickey).
      

2 个答案:

答案 0 :(得分:4)

您是否通过网络界面将ssh密钥上传到Gerrit?您确定Gerrit中的用户名是“admin”吗?

答案 1 :(得分:1)

以我的经验,最大的陷阱是ssh配置文件: 〜/ .ssh / config

在这里,您告诉SSH将用户ID与目标URL和端口对齐。

Host gerrit.domain.com
    User my_user_name
    Port 29418

我只需要每隔几年执行一次,因此在设置完所有键之后仍然忘记最后一步,但仍然不起作用。