Я пытаюсь заставить Gitosis работать на моем экземпляре Ubuntu на EC2. У меня проблема с получением правильного ключа для работы.

Я подключаю SSH к своему серверу, используя ключ, предоставленный в консоли AWS: это открытый ключ (с использованием опции SSH IdentityFile). Все довольно стандартно. Я использую официальную Ubuntu 10.04 AMI.

Установка Гитоза создает нового пользователя. Я должен предоставить открытый ключ с моей локальной машины. Это не работает Я получаю «Отказано в доступе (publickey)».

В попытке исправить ситуацию, я попытался использовать закрытый ключ с сервера для инициализации хранилища или добавления открытого ключа к авторизованным ключам, созданным с помощью. Мне удалось продвинуться на один шаг ближе, но затем я получил «роковое:« gitosis-admin.git »не выглядит как репозиторий git» при попытке клонировать репозиторий admin.

Обновить:

Я обнаружил, что проблема возникла, потому что я указал IdentityFile для моего сервера в файле .ssh/config. Когда я его убрал, клонирование сработало. Однако теперь мне нужно указывать его каждый раз, когда я пытаюсь подключиться к серверу SSH из терминала. Это можно обойти?

1 ответ1

1

Я обнаружил, что проблема возникла, потому что я указал IdentityFile для моего сервера в файле .ssh/config. Когда я его убрал, клонирование сработало. Однако теперь мне нужно указывать его каждый раз, когда я пытаюсь подключиться к серверу SSH из терминала. Это можно обойти?

Пара.

  • Вы можете загрузить оба ключа в агент SSH, и оба будут использоваться при необходимости.

    В Ubuntu он уже должен быть запущен, поэтому просто запустите ssh-add для обоих ключевых файлов. (На самом деле компонент GNOME Keyring, похоже, автоматически загружает ~/.ssh/id_* при входе в систему.)

  • В Host вас может быть два определения ~/.ssh/config: одно для интерактивного использования, другое для Git.

    Host mybox
        Hostname foo.domain.tld
        IdentityFile ~/.ssh/ec2-key
    
    Host mybox-git
        Hostname foo.domain.tld
    
    git clone git@mybox-git:gitosis-admin.git
    
  • В некоторых случаях Gitosis не нужен - git может использовать SSH без какой-либо специальной настройки. (Хотя Gitosis действительно помогает с авторизацией в многопользовательских случаях.)

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