gerrit setup git repo -- 权限被拒绝

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11983999/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 07:20:57  来源:igfitidea点击:

gerrit setup git repo -- permission denied

gitpermissionspublic-keygerritdenied

提问by yunfei

I am new to gerrit, and I am now trying to setup gerrit a git project.I am now searching help for resolving a permission denied issue, any help is appreciated, thanks in advance.

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

I am using gerrit + http + mysql, I am now have following problem:

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

  1. As I checked my database, I can not find 'login_type' and 'login_http_head' from "system_config" in my database, which is described http://gerrit.googlecode.com/svn-history/r243/documentation/2.0/config-sso.html

  2. When I click admin->projects, a prompt said "missing project all-projects"

  3. When I checked my accounts from database, there are two empty users (I think it's because I did not set them in the UIweb page)

  4. I cannot register new accounts from UIweb page, I cannot use command line create new users also.

  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 页面注册新帐户,也无法使用命令行创建新用户。

Following are my steps for ssh-key and register:

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

  1. I used ssh-keygen -t rsa -b 2048(Searchign from internet, I don't know what does 2048 mean)

  2. I use git configto config a nickname and email, I registered ssh-keyby the UIweb page.

  3. use ssh -p 29418 admin@localhost gerrit create-project --name example.gitI got a prompt: "Permission denied (publickkey)."

  4. After searching from internet, I used ssh -vv -p 29418 admin@localhost gerrit

  1. 我用过ssh-keygen -t rsa -b 2048(从网上搜索,我不知道2048是什么意思)

  2. git config用来配置昵称和邮箱,我是ssh-key通过UIweb页面注册的。

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

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

I got the following output:

我得到以下输出:

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: [email protected],[email protected],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-
[email protected]

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-
[email protected]

debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,hmac-
[email protected],hmac-sha1-96,hmac-md5-96

debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,hmac-
[email protected],hmac-sha1-96,hmac-md5-96

debug2: kex_parse_kexinit: none,[email protected],zlib

debug2: kex_parse_kexinit: none,[email protected],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).

采纳答案by Brad

Did you upload your ssh key into Gerrit through the web interface? Are you sure your username in Gerrit is 'admin'?

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

回答by Roger

The big gotcha, in my experience, is the ssh config file: ~/.ssh/config

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

This is where you tell SSH to align your user id with target URL and port.

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

Host gerrit.domain.com
    User my_user_name
    Port 29418

I only ever have to do this every few years, so always forget this last step after all the keys are setup and it still doesn't work.

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