Клон удаленной проблемы с Git-репозиторием - PullRequest
2 голосов
/ 09 сентября 2010

Я пытаюсь запустить и запустить git-репозиторий и установить git and gitosis на моем удаленном сервере Ubuntu 8.04.У меня также работает git на моей локальной машине с Ubuntu 10.04.

После многих попыток заставить все это работать, мне удалось заставить работать ключи ssh.Когда я набираю:

ssh git@myserver.com

, возвращается:

Сбой запроса выделения PTY на канале 0

ОШИБКА: gitosis.serve.main: нужен SSH_ORIGINAL_COMMAND в среде.

Соединение с 123.456.789.1 закрыто.

Насколько я понимаю, это означает, что я успешно подключился к серверу, и ключ ssh был принят, но потому что он не получил никакогокоманды закрывает соединение.

Когда я пытаюсь получить репо:

sudo git clone git@myserver.com: gitosis-admin.git

Возвращает:

Инициализированный пустой Git-репозиторий в /home/git/repositories/gitosis-admin/.git/

git@myserver.com пароль:

Проблема в том, что у меня нет установленного пароля или фразы, а также он не принимает пустой пароль, пароль сервера или пароль моего локального компьютера.Я понимаю, что он вообще не должен запрашивать пароль, потому что он должен принять ключ ssh (без ключевой фразы) и начать загрузку.

С этого момента я понятия не имею, как получить удаленное хранилище на локальном компьютере.машина, чтобы я мог начать использовать git.Я надеюсь, что кто-то может указать мне правильное направление.

1 Ответ

0 голосов
/ 10 сентября 2010

Аутентификация сработала в вашем первом тесте (ssh git@server). Если бы аутентификация не прошла (или остановилась с подсказкой), вы бы никогда не увидели сообщение от gitosis . Предупреждение и сообщение об ошибке, о которых вы сообщили, следует ожидать, когда вы попытаетесь выполнить обычную команду без команды ssh вместо того, чтобы git использовать ssh внутри.

Однако вы сделали свой клон в несколько иной среде (под sudo ). Возможно, проблема в том, что ssh в sudo не использует закрытый ключ, который использовался не sudo , test ssh . В моем тестировании sudo ssh всегда использует файлы из ~root/.ssh, даже если HOME указывает на домашний каталог обычного пользователя.

Решения:

  • Откажитесь от использования sudo для клонирования хранилища.
  • Сгенерируйте еще одну пару ключей SSH как root и добавьте ее публичный компонент в конфигурацию вашего gitosis.

Есть еще один способ, но он ужасен; Я лишь оставлю намек на это, потому что мне это кажется плохой идеей. Вы можете использовать root для чтения файла личного ключа другого пользователя (вам все равно придется вводить фразу-пароль, если она есть).

...