Git просит пароль из командной строки - PullRequest
3 голосов
/ 19 января 2011

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

git clone git@MYSERVER:gitosis-admin.git

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

git clone johndoe@MYSERVER:gitosis-admin.git

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

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

Как мне сказать git использовать ключ sshвместо того, чтобы спрашивать пароль?

Ответы [ 2 ]

5 голосов
/ 19 января 2011

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

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".

2 голосов
/ 19 января 2011

Ну, я только что прочитал о гитозе, и УЖАСНО, вы никогда не должны клонировать от johndoe@MYSERVER при его использовании. Всегда клонируйте с git@ и убедитесь, что ваши ssh-ключи настроены правильно, чтобы сервер мог использовать их для отличия (например) johndoe от janedoe.

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

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

...