Не удается клонировать Git-репозиторий с новым пользователем - PullRequest
1 голос
/ 11 августа 2011

Моя установка Ubuntu - Gitolite - MSYSGIT. После изучения этого урока:

https://sites.google.com/site/senawario/home/gitolite-tutorial

Все отлично работает.

Итак, я изменил и зафиксировал - нажал файл конфигурации:

repo    gitolite-admin
        RW+     =   id_rsa

repo    testing
        RW+     =   @all

repo    project-euler
        RW+     =   tester

Все обновлено и т. Д.

Теперь я хотел бы проверить это с пользователем "tester", но не могу. Разве не должен работать git clone tester @ myServer: проект-эйлер?

Если я попробую вышеупомянутое, я получу:

$ git clone tester@192.168.1.3:project-euler
Cloning into project-euler...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Я пробовал это на той же машине, что и для администрирования git.

Если я попытаюсь использовать это:

git git@192.168.1.3:project-euler

Я получаю: R доступ для проекта-euler ОТКЛОНЕН на id_rsa

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

Есть идеи?

После перехода по ссылкам @VonC я создал файл конфигурации, как уже упоминалось. У меня все еще есть та же проблема, поэтому я шучу по ssh -v с пользователем в беде. Выход:

OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Users/Stefanos/.ssh/config
debug1: Applying options for 192.168.1.3
debug1: Connecting to 192.168.1.3 [192.168.1.3] port 22.
debug1: Connection established.
debug1: identity file /c/Users/Stefanos/.ssh/tester type 1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-1ubuntu3
debug1: match: OpenSSH_5.8p1 Debian-1ubuntu3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.1.3' is known and matches the RSA host key.
debug1: Found key in /c/Users/Stefanos/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /c/Users/Stefanos/.ssh/tester
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

UPDATE

Мне удалось клонировать репозиторий с помощью git clong git @ server: repo - не tester @ server: repo.

Также, если у меня есть файл конфигурации, я не могу войти в систему как администратор. Он регистрируется только как тестер. Вероятно, должен быть способ настроить это. Спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 11 августа 2011

Первое, что нужно сделать, это проверить, был ли открытый ключ этого нового пользователя опубликован на сервере gitolite.

  • Проверьте содержимое ~ git / .ssh / authorizedkeys и посмотритедля строки с тестером в нем
  • Проверьте содержимое репозитория / ключа gitolite-admin и найдите файл tester.pub с открытым ключом в нем (не забудьте эти открытые ключи названы в честь пользователя : tester.pub здесь)
  • проверить, есть ли у тестера .ssh его id_rsa и id_rsa.pub.
0 голосов
/ 11 августа 2011

Вы путаете пользователей gitolite с пользователями linux.Они имеют некоторые характеристики, но отличаются другими.Вы всегда используете пользователя с именем "git" в URL-адресе git при подключении к gitolite.Независимо от этого, любой пользователь, к которому вы пытаетесь подключиться, должен иметь пару ключей (~ / .ssh / id_rsa [.pub]).Допустим, вы "Боб".Ваш открытый ключ находится по адресу /home/bob/.ssh/id_rsa.pub.Этот открытый ключ должен быть добавлен в конфигурацию gitolite.Допустим, вы называете его "foo.pub", когда добавляете его.Теперь «foo» является действительным пользователем gitolite, к которому вы можете обратиться в конфиге.Просто помните, что между вашим локальным пользователем (bob), пользователем, который подключался к gitolite (git), и пользователем gitolite (foo) нет никакой явной или явной связи.Единственное соединение - это открытый ключ, который идентифицирует «bob» на вашем локальном компьютере как «foo» для gitolite.

...