Назад | Перейти на главную страницу

администратор gitolite ОТКАЗАНО Fallthru

У меня проблема с ключами SSH и гитолитом на моем MacBook.

Gitolite работает на моем сервере debian: gitolite3 3.6.4-1 (Debian) on git 2.7.4

gitolite-admin / keydir у меня есть ключи bob.pub и admin.pub. Это разные ключи.

мой файл conf в основном:

# this repo
repo gitolite-admin
    RW+     =   admin

repo myrepo
    RW+     =   bob

Мой файл ~ / .ssh / config просто указывает, что мы используем другой порт:

Host gitserver
    IdentityFile ~/keys/bob
    Port 2222

Тестирую командой:

git clone git@gitserver:myrepo.git

Это журналы в /home/git/.gitolite/logs/

Когда ssh из моей системы Linux, он работает нормально.

2016-10-14.15:54:53 11635   ssh ARGV=bob    SOC=git-upload-pack 'myrepo'    FROM=192....
2016-10-14.15:54:53 11635   pre_git myrepo  bob R   any refs/.*
2016-10-14.15:54:53 11635       system,git,shell,-c,git-upload-pack '/home/git//repositories/myrepo.git'
2016-10-14.15:54:53 11635   END

Однако когда я делаю то же самое с ОДНОЙ клавишей на моем MacBook Air, кажется, что

2016-10-14.15:56:07 11652   ssh ARGV=admin  SOC=git-upload-pack 'myrepo'    FROM=192.168.0.105
2016-10-14.15:56:07 11652   die R any myrepo admin DENIED by fallthru<<newline>>(or you mis-spelled the reponame)

Я думаю, что происходит:

  1. базовое соединение ssh использует правильного пользователя (git) и ключ (bob) для доступа на сервер. Это делается с помощью /home/git/.ssh/authorized_keys (сгенерировано gitolite). Я действительно вижу в этом файле command="/usr/share/gitolite3/gitolite-shell bob" показывая, что аргумент команды, соответствующий ключу, правильный.

  2. Однако после ssh-соединения по какой-то причине команда была изменена на аргумент admin вместо bob !.

Очередной раз. На моей Linux-машине этого не происходит. Это происходит только на моем MacBook.

Что ДЕЙСТВИТЕЛЬНО работает с Mac, так это то, что я могу клонировать тестирование или gitolite-admin. Даже с ключом Боба, когда он действительно должен быть ключом администратора! Я думаю, что это может быть дыра в безопасности в gitolight!

Я бегаю. 3.6.4, и в примечаниях к выпуску 3.6.5 или 3.6.6 нет ничего, что указывало бы на исправление.

Для всех, кто придет сюда с подобной проблемой, в списке рассылки есть ответ автора gitolite: https://groups.google.com/d/msg/gitolite/VRLAQaN2QoE/7EWN1I82BQAJ

Я предлагаю вам добавить слово «IdentitiesOnly» в ваш ~ / .ssh / config и попробовать еще раз. Убейте ssh-agent, связку ключей или любого из этих видов зверей и перезапустите их, добавив только ключ «bob».

Для удобства полностью удалите закрытый ключ администратора из коробки.