Как настроить mercurial, чтобы нажать, не спрашивая мой пароль через ssh?

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

Я работаю на Ubuntu 9.10

3 ответов


в Linux и Mac используйте ssh-agent.

  1. убедитесь, что у вас есть пара ключей ssh (см. man ssh-keygen дополнительные сведения)
  2. скопируйте открытый ключ (из ~/.ssh/id_dsa.pub) удаленной машине, давая ей уникальное имя (например,myhost_key.pub)
  3. войдите на удаленный компьютер и добавьте открытый ключ, который вы только что скопировали в
  4. 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/