Формат URL-адреса SSH Gitolite

Формат URL-адреса SSH Gitolite

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

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

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

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

решение1

ВидетьGitolite и ssh

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

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

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

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

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

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

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

Что касается user/repos, то самое близкое, что вы могли бы иметь с Gitolite, этодикие репо и шаблоны репо.

repo    CREATOR/a[0-9][0-9]

Связанный контент