Gitolite SSH Формат URL

Итак, я настроил гитолит. Просто. Но у меня есть одна проблема. URL-адреса SSH следуют формату git@host:repo, Я привык к Bitbucket / Github, где URL-адреса соответствуют формату git@host:user/repo, Есть ли способ получить последний формат, используя gitolite?

Другой вопрос. У меня есть мой ~/.ssh/config файл настроен со следующей записью:

Host <host>
User <user>
IdentityFile <path/to/public/key>

У меня нет настроек, указывающих git как пользователь, и все же я могу клонировать git@host:repo без проблем. Очевидно, что мой ssh-клиент использует мой открытый ключ для доступа к серверу, поэтому gitolite позволяет мне клонировать репозиторий, но как мой ssh-клиент узнает, что мой открытый ключ настроен только для <user> пользователь, а не git пользователь?

1 ответ

Решение

Смотри Гитолит и СШ

Ограничение пользователей определенными командами очень важно для gitolite.
Если вы читаете man sshdи ищите формат файла author_keys, вы увидите множество опций, которые вы можете добавить в строку открытого ключа, которые различными способами ограничивают входящего пользователя. В частности, обратите внимание наcommand=параметр, который означает "независимо от того, что просит поступающий пользователь, вместо этого принудительно запустите эту команду".

Также обратите внимание, что когда в файле авторизованных ключей много открытых ключей (т. Е. Строк), каждая строка может иметь различный набор параметров иcommand= ценности.

Без этогоcommand= В качестве опции, демон ssh просто даст вам оболочку, что не то, что мы хотим для наших ключей gitolite (хотя у нас вполне могут быть другие ключи, которые мы используем для получения оболочки).

Это основа того, что заставляет гитолит работать;пожалуйста, убедитесь, что вы понимаете это.

Те command= используют имя вашего открытого ключа в качестве имени пользователя.

Итак, все ваши ssh-запросы выполняются с:

  • пользователь git
  • открытый ключ, имя которого зарегистрировано в параметрах директивы command = в ~git/.ssh/authorized_keys,

Что касается user/repos, ближайший к вам Gitolite - это дикие репо и репо.

repo    CREATOR/a[0-9][0-9]
Другие вопросы по тегам