Ich habe einen Entwicklungs-Git-Server, der auf einem Live-Server bereitgestellt wird, wenn der live
Zweig an verschoben wird. Jeder Benutzer hat sein eigenes Login und daher wird der post-receive
Hook, der die Live-Bereitstellung durchführt, unter seinem eigenen Benutzer ausgeführt.
Da ich nicht möchte, dass die öffentlichen Schlüssel des Benutzers als autorisierte Schlüssel auf dem Remote-Live-Server verwaltet werden, habe ich eine Reihe von Schlüsseln erstellt, die zum Git-System gehören, um sie zu Remote-Live-Servern hinzuzufügen (in dem von post-receive
mir verwendeten Hook $GIT_SSH
um den privaten Schlüssel mit der -i
Option festzulegen).
Mein Problem ist, dass der private Schlüssel des Git-Systems mindestens gruppenlesbar sein muss, da alle Benutzer möglicherweise für die Bereitstellung bereitstellen möchten, und SSH mag dies wirklich nicht.
Hier ist ein Beispiel für den Fehler:
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
Ich habe mich umgesehen und erwartet, etwas zu finden, das ssh dazu zwingt, nur die Verbindung herzustellen, aber ich habe nichts als Leute gefunden, die blind gesagt haben, dass Sie nur auf einen einzelnen Benutzer zugreifen dürfen.