【问题标题】:gerrit setup git repo -- permission deniedgerrit setup git repo -- 权限被拒绝
【发布时间】:2012-08-12 14:46:43
【问题描述】:

我是 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->projects 时,提示“missing project all-projects”

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

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

以下是我的 ssh-key 和注册步骤:

  1. 我用的是ssh-keygen -t rsa -b 2048(网上搜索,不知道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

我得到以下输出:

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).

【问题讨论】:

  • 介意将所有内容编辑到代码块中吗?我会,但它需要批准和 > 8 个非空白字符。
  • 克里斯托弗,谢谢提醒。完成:)

标签: git gerrit public-key


【解决方案1】:

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

【讨论】:

  • 布拉德,谢谢,我确实将我的 ssh 密钥添加到了 gerrit 中,但主机名看起来有些问题,我不知道如何解决它。
  • 在 RSA 密钥的 gerrit webUI 页面中,它显示 cmets 像“gerrit2@bst-esa3-bs”,“bst-esa3-bs”是我的服务器名称。但实际上我使用的是命令:“ssh-keygen -t rsa”。我猜问题是主机名“bst-esa3-bs”,因为我不能使用bst-esa3-bs通过ie访问gerrit。
  • `gerrit2@bst-esa3-bs:~$ ssh -p 29418 10.173.178.101:81 gerrit create-account --ssh-key - 观察者权限被拒绝(公钥)。 gerrit2@bst-esa3-bs:~$ ssh -p 29418 gerrit2@localhost 权限被拒绝(公钥)。 gerrit2@bst-esa3-bs:~$ ssh -p 29418 gerrit2@bst-esa3-bs 权限被拒绝(公钥)。 `
  • 您在 Gerrit Web 界面中的用户名是“gerrit2”吗?确保您使用的是 Gerrit 期望的用户名。忽略关键注释,因此不会影响任何内容。
  • Gerrit 使用内部用户数据库。它不使用平台帐户。通过查看用户界面中的设置来查看 Gerrit 期望的用户名。
【解决方案2】:

根据我的经验,最大的问题是 ssh 配置文件: ~/.ssh/config

这是您告诉 SSH 将您的用户 ID 与目标 URL 和端口对齐的地方。

Host gerrit.domain.com
    User my_user_name
    Port 29418

我只需要每隔几年做一次,所以在设置完所有键后总是忘记这最后一步,但它仍然不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-30
    • 2020-07-30
    • 2011-12-15
    • 1970-01-01
    • 2018-09-19
    • 2017-10-30
    • 1970-01-01
    • 2017-12-02
    相关资源
    最近更新 更多