Как настроить mercurial, чтобы нажать, не спрашивая мой пароль через ssh?
Я использую mercurial в своем проекте, и каждый раз, когда я нажимаю новые наборы изменений на сервер по ssh, он спрашивает у меня пароль.
Тогда как настроить mercurial, чтобы нажать с запросом пароля?
Я работаю на Ubuntu 9.10
3 ответов
в Linux и Mac используйте ssh-agent
.
- убедитесь, что у вас есть пара ключей ssh (см.
man ssh-keygen
дополнительные сведения) - скопируйте открытый ключ (из
~/.ssh/id_dsa.pub
) удаленной машине, давая ей уникальное имя (например,myhost_key.pub
) - войдите на удаленный компьютер и добавьте открытый ключ, который вы только что скопировали в
- Run
ssh-add
на локальной рабочей станции, чтобы добавить свой ключ в брелок
теперь вы можете использовать любой пульт hg
команды в этом сеансе без необходимости аутентификации.
предполагая, что вы используете Windows, прочитайте мой руководство Mercurial / SSH. Внизу поста вы найдете информацию о том, как использовать шпаклевка сделать это для вас.
Edit: -- вот часть сообщения, о которой я говорю (Имейте в виду, что вам нужно будет запустить конкурс с уже загруженным ключом для этого):
клиент: настройка Mercurial
Если вы не уже убедитесь, что вы установили Mercurial на клиентском компьютере, используя параметры по умолчанию. Убедитесь, что вы сказали установщику добавить Mercurial путь к системному пути.
последний шаг настройки для клиента-сказать Mercurial использовать инструменты шпатлевки при использовании SSH. Ртутный может быть настроен пользовательский конфигурационный файл .hgrc. В Windows его также можно назвать Mercurial.ini. Файл находится в вашей домашней папке. Если вы не знаете, что ваш дом папка, просто откройте командную строку и введите echo %USERPROFILE% - это скажет вам путь.
Если вы еще не установили конфигурацию, то скорее всего файл конфигурации не существует. Поэтому вам придется его создать. Создайте вызов файла .hgrc или Mercurial.ini в домашней папке вручную, и откройте его в текстовом редакторе. Вот как выглядит часть моей:
[ui]
username = OJ Reeves
editor = vim
ssh = plink -ssh -i "C:/path/to/key/id_rsa.ppk" -C -agent
последняя строка-это ключ и это то, что вам нужно, чтобы убедиться, что он установлен правильно. Мы говорим Mercurial использовать программу plink. Это также поставляется с замазкой и является версией командной строки того, что сама программа замазки делает за кулисами. Также добавим несколько параметров:
- -ssh: указывает, что мы используем протокол SSH.
- файл".ППК" : указывает расположение файла закрытого ключа, который мы хотим использовать для входа на удаленный сервер. Измените это, чтобы указать на локальный закрытый ключ ppk, совместимый с шпатлевкой. Убедитесь, что вы пользователь косую черту для сепараторов пути!
- - C: этот переключатель включает обжатие.
- -agent: это говорит плинку поговорить с утилитой конкурса, чтобы получить парольную фразу для ключа, а не просить вас об этом в интерактивном режиме.
клиент готов к рок!
установить шпаклевка.
Если вы на Windows, откройте projectdir/.hg/hgrc
в вашем любимом текстовом редакторе. Отредактируйте его так:
[paths]
default = ssh://hg@bitbucket.org/name/project
[ui]
username = Your Name <your@email.com>
ssh = "C:\Program Files (x86)\PuTTY\plink.exe" -ssh -i "C:\path\to\your\private_key.ppk" -C -agent
Если это займет вечность, чтобы нажать, сервер может попытаться задать вам вопрос (но он не отображается).
выполнить это:
"C:\Program Files (x86)\PuTTY\plink.exe" -T hg@bitbucket.org -i "C:\Program Files (x86)\PuTTY\plink.exe" -ssh -i "C:\path\to\your\private_key.ppk"
ответьте на любые вопросы, а затем попробуйте нажать еще раз.
Если вы используете Bitbucket, откройте закрытый ключ с помощью puttygen, скопируйте открытый ключ из топ TextBox и добавить его к вашей учетной записи: https://bitbucket.org/account/user/USERNAME/ssh-keys/