Назад | Перейти на главную страницу

Git через https

Когда я клонирую репо с помощью git clone https: //username@domain.com/directory или когда я нажимаю на него с помощью git push origin master

Git запрашивает у меня пароль, как я могу автоматически предоставить пароль, например, ключи ssh? Чтобы он больше не запрашивал мой пароль?

Мне это нужно по двум причинам:

1) автоматизация, хадсон например

2) Мне лень каждый раз предоставлять самому

Второй вопрос (он связан с первым)

Почему они иногда дважды спрашивают пароль?

Нет ничего лучше агента SSH для http, поэтому вы должны указать пароль в открытом виде. Вы можете сохранить учетные данные в ~/.netrc:

touch ~/.netrc
chmod 600 ~/.netrc
cat > ~/.netrc <<EOF
machine domain.com
login USERNAME
password SUPERSECRET
EOF

Обратите внимание, что пароль сохраняется там в виде открытого текста. Это менее безопасно, чем использование зашифрованных ключей SSH и агента ssh, но дело сделано. Вы в основном находитесь на том же уровне безопасности, что и Subversion по умолчанию в большинстве систем.

Обратите внимание, что более новые версии Git (> 1.7.0) лучше кэшируют введенные учетные данные, поэтому вам нужно будет ввести пароль только один раз, если вы не используете .netrc.