Сделать репозиторий git gitosis-admin безопасным

Я установил gitosis на свой сервер Ubuntu 10.4 через

    apt-get install gitosis

Затем я инициализировал репозиторий администратора с помощью

    sudo -H -u gitosis gitosis-init < nameOfThePublicKeyFile

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

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

Я пропустил важный шаг в процессе установки или что-то в этом роде?

Спасибо за любую помощь!


person Benjamin Groener    schedule 21.11.2011    source источник
comment
Какой адрес вы использовали для клонирования этих репозиториев?   -  person VonC    schedule 21.11.2011
comment
Я использовал адрес gitosis@myipaddress:gitosis-admin.git   -  person Benjamin Groener    schedule 21.11.2011


Ответы (2)


Я думаю, что нашел ошибку, и она не имеет ничего общего с гитозом.

Я обнаружил, что мой клиент tortoisgit в Windows каким-то образом кэширует правильный файл закрытого ключа соединения git, если он один раз успешно клонировал репозиторий. Даже если впоследствии я предоставлю неправильный ключевой файл (я не знаю, где он его сохраняет, но я видел его в файле конфигурации, созданном tortoisgit при клонировании репозитория).

Я попытался клонировать свой репозиторий с другим компьютером с Windows, просто чтобы убедиться, что это только проблема с кэшированием. И вуаля, этот другой компьютер, который никогда не видел мой файл закрытого ключа, не мог клонировать репозиторий.

person Benjamin Groener    schedule 24.11.2011

Всегда полезно, когда графический интерфейс терпит неудачу (здесь TortoiseGit), вернуться к CLI (msysgit или самому git), чтобы увидеть, сохраняется ли проблема.

Вы видели, что это может быть связано с проблемой кеша аутентификации в TortoiseGit, и ошибка 659 иллюстрирует эту проблему с кэшем.

Другим вариантом может быть попытка использовать ssh-адрес «config», то есть ssh-адрес, основанный на файле конфигурации ssh (где вы можете явно указать имя закрытого ключа, используемого для этого соединения).
См. как пример "NBGit на удаленный хост с помощью ssh" или "git + assembla + несколько ключей ssh/несколько компьютеров" .

person VonC    schedule 21.11.2011