Ich habe vor kurzem angefangen, mit Ansible herumzuspielen und es scheint sehr schön zu sein. Ich habe nicht viel Erfahrung mit DevOps und musste nie wirklich mit komplexen Szenarien umgehen. Ich habe begonnen, mein Ansible-Playbook zu erstellen, um mein aktuelles Bereitstellungstool - Deployer PHP - zu ersetzen. Ich bin leider beim Klonen des Git-Repositorys festgefahren. Jetzt weiß ich, dass ich einen öffentlichen Schlüssel hinzufügen muss, um den Zugriff auf das Git-Repository zu ermöglichen, und hier kommt meine Frage.
Sollte ich die SSH-Agentenweiterleitung verwenden (auf diese Weise kann ich meine lokalen SSH-Schlüssel verwenden) oder sollte ich einen privaten SSH-Schlüssel (verschlüsselt, zur Quellcodeverwaltung hinzugefügt) in meinem ansible-Projekt speichern und ihn mit Ansible auf meinen Zielknoten kopieren? Ich weiß, dass die Frage sehr weit gefasst sein kann. Was mich also interessiert, sind die Auswirkungen beider Ansätze auf die Sicherheit.
Sie können Ihren privaten Schlüssel unter einem Umstand erstellen: Wenn Sie Ihr Repository so konfigurieren, dass nur Lesezugriff für diesen bestimmten Schlüssel möglich ist, und Sie sich nicht darum kümmern, dass das Repository öffentlich lesbar ist. In diesem Fall können Sie Ihren privaten Schlüssel einfach speichern - natürlich einen Wegwerfschlüssel ohne Passphrase erstellen. Aber wie gesagt, nur wenn Sie mit dem öffentlichen Zugriff auf dieses Repository einverstanden sind.
Wenn dies nicht der Fall ist, stecken Sie wahrscheinlich beim SSH-Agenten fest. Es ist nicht ideal, wie
root
es der Socket nehmen kann, aber wenn Sie sich in einer Art wohlwollender Umgebung befinden (dh kein angreifbarer Webserver in der Nähe), sollte es in Ordnung sein.quelle