Невозможно клонировать gitlab-репо через ssh, через http-OK - программирование
Подтвердить что ты не робот

Невозможно клонировать gitlab-репо через ssh, через http-OK

Я новичок в gitlab и CI, поэтому у меня было множество вопросов, но некоторые из них были решены с помощью google, SO, git mans, но не последний...

Я не могу клонировать репо через ssh = (

Если я пытаюсь клонировать репо через http:

[email protected]:/var/www$ git clone http://gitlab.vbox/root/virtualboxgitlab.git
Cloning into 'virtualboxgitlab'...
Username for 'http://gitlab.vbox': root
Password for 'http://[email protected]':
warning: You appear to have cloned an empty repository.

Это нормально!

Но через ssh...

[email protected]:/var/www$ git clone [email protected]:root/virtualboxgitlab.git
Cloning into virtualbox 'gitlab'
[email protected] password:<br />   

Он подскажет мне пароль git, который я не создавал во время установки (как это было у меня)

rsa keys

Я добавил свой ключ через веб-сайт gitlab (для учетной записи root, на самом деле я не создал никаких других учетных записей)

А также я добавил ключ от "cat my_rsa.pub → authorized_keys"

Я прочитал несколько сообщений здесь о проблемах ssh, но большинство из них установили гитолит

Я установил gitlab 5.3 без гитолита (как в руководстве), может быть, я должен?

Также я попробовал ssh -vT [email protected] и вывел:

....
debug1: Server host key: ECDSA 48:83:ba:b3:37:72:a0:dc:ca:2c:a3:b8:78:a1:c4:ad
debug1: Host 'gitlab.vbox' is known and matches the ECDSA host key.
debug1: Found key in /home/lesha/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/lesha/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/lesha/.ssh/id_dsa
debug1: Trying private key: /home/lesha/.ssh/id_ecdsa
debug1: Next authentication method: password
[email protected] password:


[email protected]:/home/git/.ssh# ls -l
итого 4
-rw------- 1 git git 922 Июл 18 21:05 authorized_keys

environmetnt: debian 7, nginx + пассажир, gitlab 5.3, рубин 2.0.0p247, без гитолита, пума против единорога

Пожалуйста, помогите! =) Я застрял...


некоторые дополнения (20.07.2013):

Я создал пользователя git, как в ручной установке

sudo adduser --disabled-login --gecos 'GitLab' git

На следующий день я попытался убить git и снова добавить команду useradd, после чего мои ключи работают, но я все равно не счастлив, потому что:

[email protected]:/var/www$ git clone [email protected]:root/virtualboxgitlab.git
Cloning into 'virtualboxgitlab'...
fatal: 'root/virtualboxgitlab.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

и http работает так же, как и предыдущий:

[email protected]:/var/www$ git clone http://gitlab.vbox/root/virtualboxgitlab.git
Cloning into 'virtualboxgitlab'...
Username for 'http://gitlab.vbox': root
Password for 'http://[email protected]': 
warning: You appear to have cloned an empty repository.

Итак, теперь у меня нет проблем с auth, но есть еще один.

Как вы могли бы устранить эту проблему?

4b9b3361

Ответ 1

GitLab 5.x больше не использует гитолит, но gitlab-shell.

Я бы посоветовал создать специальную учетную запись, как рекомендовано в процессе установки .

ssh [email protected]

Эти команды ssh означают, что вы запрашиваете защищенную оболочку на 'gitlab.vbox' как пользователь 'git'. Если этого пользователя не существует... это не сработает.

Нет необходимости пытаться клонировать репо, тесты не работают должным образом:

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

Отчет OP ssh работает лучше после создания пользователя git и добавления ключей, но:

  • сначала убедитесь, что вы создали свои ключи на "клиентской" учетной записи, а не в ~git/.ssh/id_rsa: вы пытаетесь открыть сеанс как git из учетной записи клиента. git - это учетная запись, в которой установлен gitlab.
  • Затем вы должны зарегистрировать свой открытый ключ на странице ssh учетной записи пользователя, которую вы объявляете через gitlab gui. Вы не должны "useradd" использовать ssh для root.

Если вы видите это:

[email protected]:/var/www$ git clone [email protected]:root/virtualboxgitlab.git
Cloning into 'virtualboxgitlab'...
fatal: 'root/virtualboxgitlab.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Это также означает, что вы не должны указывать путь репо (root/):

 git clone [email protected]:virtualboxgitlab.git

Задача gitlab знать, где хранится virtualboxgitlab.git(как указано в конфигурационном файле gitlab.yml)

В принципе, забудьте root и выполните полную установку gitlab, как и предполагалось: в учетной записи 'git.

OP заставил его работать, комментируя это:

"root" - это пространство имен администраторов, gitlab автоматически создает этот URL-адрес, и без него клон не работает, теперь все клонирует, и я начинаю устанавливать gitlab CI,

OP должен был:

добавить моего пользователя в группу sudo, сделать чистую установку, полученную ошибку

/usr/local/lib/ruby/2.0.0/net/http.rb:878:in initialize': getaddrinfo: 
  Name or service not known (SocketError)

который не может разрешить имя хоста, добавлен gitlab.vbox в /etc/hosts