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

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

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

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

lesha@lesha-SeoTeam:/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 ...

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

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

rsa keys

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

А еще я добавил ключ "cat my_rsa.pub >> authorized_keys"

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

Я установил 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]'s password:


root@seotm-server:/home/git/.ssh# ls -l
итого 4
-rw------- 1 git git 922 Июл 18 21:05 authorized_keys

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

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


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

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

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

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

lesha@lesha-SeoTeam:/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 работает так же, как и предыдущий:

lesha@lesha-SeoTeam:/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.

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

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


person alexZT    schedule 19.07.2013    source источник
comment
Я отредактировал свой ответ в ответ на правки вашего вопроса :)   -  person VonC    schedule 20.07.2013


Ответы (1)


GitLab 5.x больше не использует гитолит, но _ 1_.

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

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. Вам не следует использовать "useradd" ssh для получения root-прав.

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

lesha@lesha-SeoTeam:/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,

ОП должен был:

добавить моего пользователя в группу 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

person VonC    schedule 19.07.2013
comment
Я следовал пошаговой инструкции по установке без ошибок, только с: Git configured for git user? ... no, мой пользователь git существует и git:x:1001:1001:GitLab,,,:/home/git:/bin/bash - person alexZT; 19.07.2013
comment
добавил моего пользователя в группу sudo, произвел чистую установку, получил ошибку /usr/local/lib/ruby/2.0.0/net/http.rb:878:in initialize ': getaddrinfo: имя или служба неизвестны (SocketError) `, которая не может разрешить имя хоста, добавил gitlab.vbox в /etc/hosts и теперь я почти счастлив! =) одно слово о пути к репо, вы сказали, что я не должен указывать путь root / in, я делаю и должен, root - это пространство имен администраторов, gitlab создает этот URL-адрес автоматически, и без него клонирование не работает, теперь все клонирует и я приступаем к установке gitlab CI, большое спасибо - person alexZT; 20.07.2013