Git запрашивает пароль из командной строки

Я устанавливаю git и gitosis на сервере для управления своими репозиториями. Он работает правильно для начальной учетной записи оболочки, с которой я его настроил, т.е. я могу запустить:

git clone git@MYSERVER:gitosis-admin.git

Но когда я пытаюсь использовать созданные мной отдельные учетные записи (через gitosis.conf), он продолжает запрашивать пароль:

git clone johndoe@MYSERVER:gitosis-admin.git

Я настроил ключ SSH и отправил копию в каталог ключей на сервере. Этот вопрос, кажется, решает ту же проблему, но данное решение предназначено для черепахи.

Git продолжает запрашивать пароль

Как мне сказать git использовать ключ ssh вместо запроса пароля?


person erich    schedule 19.01.2011    source источник


Ответы (2)


Вы не используете свое имя пользователя, вы всегда говорите:

git clone git@MYSERVER:<repository>

Gitosis связывает ваше имя в своем конфигурационном файле с именем вашего ключа на сервере. То есть у вас есть строки типа

[group users]
members = johndoe janeroe
writable = repo1 repo2

в gitosis.conf, а файлы johndoe.pub, janedoe.pub в gitosis-admin/keydir; gitosis будет использовать соответствующий ключ для пользователя, но вы всегда используете «git» в качестве пользователя в URL-адресе. Это потому, что он всегда использует учетную запись «git».

person ebneter    schedule 19.01.2011
comment
У меня аналогичная ситуация. Пожалуйста, прочитайте мой вопрос здесь: stackoverflow.com/questions/4882545/gitosis- запрос пароля - person andho; 03.02.2011

Что ж, я только что прочитал о gitosis, и ВЕРЮ, что вы никогда не должны клонировать johndoe@MYSERVER при его использовании. Всегда клонируйте из git@ и убедитесь, что ваши ключи ssh настроены правильно, чтобы сервер мог использовать их, чтобы отличить (например) johndoe от janedoe.

Что вы делаете на стороне клиента, так это добавляете SSH-ключ johndoe в свою цепочку для ключей, удаляете любые другие, которые сервер примет, и устанавливаете пользователя git и настройки электронной почты, чтобы идентифицировать вас как johndoe. Сервер сравнит их, увидит, что они совпадают, и позволит вам зафиксировать. Если вы настроите SSH на использование чужого ключа, а затем попытаетесь зафиксировать как johndoe с помощью git, вы сможете подключиться к серверу, но это не позволит вам продолжить фиксацию.

OTOH, поскольку gitosis не создает реальных учетных записей пользователей, вы не можете использовать ssh как johndoe на машине, что также означает, что вы не можете использовать адреса johndoe@... для репозитория в git. Если вам нужно это сделать, вам придется настроить свой сервер git другим способом.

person Walter Mundt    schedule 19.01.2011