У меня проблема с ключами 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)
Я думаю, что происходит:
базовое соединение ssh использует правильного пользователя (git) и ключ (bob) для доступа на сервер. Это делается с помощью /home/git/.ssh/authorized_keys (сгенерировано gitolite). Я действительно вижу в этом файле command="/usr/share/gitolite3/gitolite-shell bob"
показывая, что аргумент команды, соответствующий ключу, правильный.
Однако после 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».
Для удобства полностью удалите закрытый ключ администратора из коробки.