Ошибка: не удалось отправить некоторые ссылки на ssh без имени пользователя

У меня проблемы с переносом моих изменений с сервера Jenkins на сервер Gerrit из-за этой ошибки:

+ git checkout origin/release_6.3.0
Previous HEAD position was 6c1313da... Fixes getting secret posts when searching posts by market.
HEAD is now at a9490de6... Fixes channels routes.
+ git rev-parse Deploy_Stage_6.3.0_RC210_Her
+ git tag Deploy_Stage_6.3.0_RC210_Her
+ git push origin Deploy_Stage_6.3.0_RC210_Her
debug1: Connecting to gerrit [XX.XX.XX.X] port 29418.
debug1: Connection established.
debug1: identity file /c/Users/mikz/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /c/Users/mikz/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /c/Users/mikz/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /c/Users/mikz/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /c/Users/mikz/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /c/Users/mikz/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /c/Users/mikz/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /c/Users/mikz/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.3
debug1: Remote protocol version 2.0, remote software version GerritCodeReview_2.12 (SSHD-CORE-0.14.0)
debug1: no match: GerritCodeReview_2.12 (SSHD-CORE-0.14.0)
debug1: Authenticating to gerrit:29418 as 'gerrit'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group1-sha1
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: hmac-sha2-256 compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: hmac-sha2-256 compression: none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: ssh-rsa SHA256:lZ41xRL6gg58lbJKSIcYDlo54lUVj6lUFOCsj1zfKns
debug1: Host '[gerrit]:29418' is known and matches the RSA host key.
debug1: Found key in /c/Users/mikz/.ssh/known_hosts:1
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /c/Users/USER_NAME/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to gerrit ([XX.XX.XX.X]:29418).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: pledge: network
debug1: Sending command: git-receive-pack 'PATH'
remote: 
remote: Processing changes: refs: 1, done            
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2904, received 252760 bytes, in 0.9 seconds
Bytes per second: sent 3225.7, received 280757.7
debug1: Exit status 0
To ssh://gerrit:29418/PATH
 ! [remote rejected]   Deploy_Stage_6.3.0_RC210_Her -> Deploy_Stage_6.3.0_RC210_Her (prohibited by Gerrit)
error: failed to push some refs to 'ssh://gerrit@gerrit:29418/PATH'
Build step 'Conditional step (single)' marked build as failure
Description set: 
Finished: FAILURE

Вероятно, это потому, что в этой строке:

To ssh://gerrit:29418/PATH

У меня нет имени пользователя, но я не знаю, как это исправить < br>
Я добавил следующую строку в .gitconfig, но она не работает:
[url "ssh://gerrit@gerrit:29418/"]
вместо этогоOf = ssh://gerrit:29418 /



Любая идея, как я могу решить эту проблему?


person Andrii Kamchantyi    schedule 02.03.2017    source источник


Ответы (2)


Когда вы выполняете «git push origin BRANCH», вы нажимаете прямо на ветку, минуя Геррита. Эта ошибка (запрещенная Gerrit) означает, что у пользователя «gerrit» нет разрешения на это. Вам необходимо предоставить пользователю разрешение на обход проверки кода или использовать «refs/for/BRANCH» в вашей команде push.

Подробнее об этой ошибке см. в документации Gerrit здесь .

person Marcelo Ávila de Oliveira    schedule 02.03.2017
comment
пользователь gerrit имеет права администратора в gerrit - person Andrii Kamchantyi; 03.03.2017
comment
Недостаточно быть администратором Gerrit. Администраторам назначена возможность администрирования сервера, но по умолчанию у них нет всех разрешений на отправку/создание. Вы должны быть уверены, что у пользователя gerrit есть права доступа Push на refs/heads/*. Проверьте также все остальные разрешения, перечисленные в ссылке, которую я разместил. - person Marcelo Ávila de Oliveira; 03.03.2017
comment
вот скриншот моих настроек gerrit для refs/heads/* prntscr.com/efke62, пользователь gerrit входит в группу администраторов - person Andrii Kamchantyi; 03.03.2017
comment
››››Подробнее об этой ошибке см. в документации Gerrit здесь. gerrit-review.googlesource.com/Documentation/ Это правильный ответ. Благодарю вас! - person Andrii Kamchantyi; 03.03.2017

Неверное разрешение в Gerrit. Все разрешения должны быть установлены в соответствии с https://gerrit-review.googlesource.com/Documentation/error-prohibited-by-gerrit.html

person Andrii Kamchantyi    schedule 03.03.2017
comment
Почему вы повторили тот же ответ, который я уже опубликовал, вместо того, чтобы принять мой ответ? - person Marcelo Ávila de Oliveira; 03.03.2017