У мене є сервер розробки git, який розгортається на живий сервер, коли live
гілка пересувається. У кожного користувача є власний логін, і тому post-receive
гачок, який виконує реалізацію в реальному часі, працює під його власним користувачем.
Оскільки я не хочу підтримувати публічні ключі користувачів як авторизовані ключі на віддаленому сервері живого сервісу, я створив набір ключів, які 'належать системі Git для додавання до віддалених живих серверів (У post-receive
гачку, яку я використовую $GIT_SSH
встановити приватний ключ з -i
опцією).
Моя проблема полягає в тому, що через те, що всі користувачі можуть захотіти розгорнутись у прямому ефірі, приватний ключ системи git повинен бути принаймні груповим для читання, а SSH справді не любить цього.
Ось зразок помилки:
XXXX@XXXX /srv/git/identity % ssh -i id_rsa XXXXX@XXXXX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: id_rsa
Я озирнувся, сподіваючись знайти щось на шляху змусити ssh просто пройти через з'єднання, але я не знайшов нічого, окрім людей, що сліпо говорять, що ви просто не повинні дозволити доступ ні до чого, крім одного користувача.