1

Как мне клонировать репозиторий Mercurial, если для SSH требуется закрытый ключ?

Я попытался следовать, и это не работает.

dukeimg@localhost:~/foo/test$ hg clone --ssh -i ~/keys/dukeimg ssh://username@example.com/www/bar/ 
abort: /home/dukeimg/keys/dukeimg: not a Mercurial bundle

1 ответ1

3

Вы пытаетесь использовать опцию командной строки (ssh) -i с hg . Это не поддерживается Поскольку hg не поддерживает эту опцию, он ищет репозиторий для клонирования в ~/keys/dukeimg .

Есть три возможных решения:

  1. Используйте агент ключа SSH.
  2. Установите Mercurial для использования настраиваемой командной строки SSH (hgrc):

    [ui]
    ssh = ssh -i ~/keys/dukeimg
    
  3. Настройте SSH-клиент для использования открытого ключа для вашего хоста (ssh_config):

    Host example.com
        User my-ssh-user
        IdentityFile ~/keys/dukeimg
    

Опция --ssh/-e предназначена для использования следующим образом:

hg -e 'ssh -whatever -option' ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .