J'ai un serveur de développement git qui se déploie sur un serveur actif lorsque la live
branche est poussée vers. Chaque utilisateur a sa propre connexion et donc le post-receive
hook qui fait le déploiement en direct est exécuté sous son propre utilisateur.
Parce que je ne veux pas avoir à conserver les clés publiques des utilisateurs en tant que clés autorisées sur le serveur live distant, j'ai constitué un ensemble de clés qui appartiennent au système git à ajouter aux serveurs live distants (dans le post-receive
crochet que j'utilise $GIT_SSH
pour définir la clé privée avec l' -i
option).
Mon problème est que, en raison de tous les utilisateurs qui pourraient vouloir déployer pour vivre, la clé privée du système git doit être au moins lisible par groupe et SSH n'aime vraiment pas cela.
Voici un exemple de l'erreur:
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
J'ai regardé autour de moi en espérant trouver quelque chose pour forcer ssh à simplement passer avec la connexion, mais je n'ai trouvé que des gens disant aveuglément que vous ne devriez tout simplement pas autoriser l'accès à autre chose qu'à un seul utilisateur.