Я использую gitosis для размещения репозитория git на моем домашнем сервере.
Я настроил его на прием трех ключей SSH: мой основной (без пароля) с доступом для чтения / записи, мой парольодин (который мне удобнее ставить на серверы, на котором другие люди имеют права root) с доступом для чтения / записи, и третий ключ с доступом только для чтения.
Идея заключается в том, что на удаленном хосте (который я надеваюне принадлежит, так что у кого-то еще есть root) У меня может быть свой секретный ключ с паролем и третий (только для чтения) ключ, а затем на этом компьютере я могу вытащить без пароля и нажать обратно с помощью пароля.
С Gitosis все в порядке, и он примет любой ключ с правильными разрешениями.Но я не могу заставить все работать так, как хочу, когда использую оба ключа.Я указываю на них в своей конфигурации SSH - в ~ / .ssh / config на удаленном хосте у меня есть следующее:
Host *
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa.passphrase
Когда я просто тяну или клонирую, все нормально - операция завершаетсяне запрашивая у меня пароль.Но когда я нажимаю, я получаю сообщение о том, что у меня нет разрешения.Он явно пробовал только первый ключевой файл.
Если я поменяю местами две строки IdentityFile
, мне будет предложено ввести пароль, нажимаю ли я на кнопку или тяну.Таким образом, он все еще пробует только первый файл ключа.
Есть ли способ получить желаемое поведение - то есть, чтобы он использовал один файл ключа при выполнении push и других операций записи, а другой - при выполненииоперации только для чтения?