Kopieren von SSH-IDs zwischen Servern

7

Ist es empfehlenswert, SSH-IDs a la ssh-copy-id zwischen Remote-Servern in der Produktion zu kopieren, damit sie verschiedene SSH-Aufgaben einfacher miteinander ausführen können?

Insbesondere richte ich SSH-Tunnel ein und möchte nicht die sehr geheimen Passwörter nachschlagen müssen, die diese Server festgelegt haben. Wenn ich eine ssh-copy-id zwischen den teilnehmenden Servern habe, ist dies ein Sicherheitsrisiko?

Matt Joiner
quelle

Antworten:

10

Ist es empfehlenswert, SSH-IDs a la ssh-copy-id zwischen Remote-Servern in der Produktion zu kopieren, damit sie verschiedene SSH-Aufgaben einfacher miteinander ausführen können?

Ja absolut. Bewahren Sie für jedes System separate Schlüssel auf, die Konten mit den am wenigsten benötigten Berechtigungen auf jedem Server zugewiesen sind. Verwenden Sie nach Möglichkeit die Anweisung command = in der Datei authorized_keys, um jeden Schlüssel auf einen bestimmten Befehl zu beschränken, anstatt auf eine vollständige Shell zuzugreifen.

Eine weitere bewährte Methode, die Sie so schnell wie möglich ausführen sollten, ist das Deaktivieren der Kennwortauthentifizierung.

EEAA
quelle
Ich mache mir Sorgen, dass einer dieser Server, wenn er kompromittiert ist, jeden anderen Server SSH kann, der seinen Hostschlüssel erkennt. Das heißt, jeder dieser anderen Server, für die ich ssh-copy-id vom kompromittierten Server ausgeführt habe, und ohne zusätzliche Anforderungen (z. B. das Kennwort, das nicht auf dem Server gespeichert ist).
Matt Joiner
2
OK, das einzige System, von dem Sie Ihre Schlüssel kopieren sollten, ist Ihre Workstation. Zeitraum. Ihr privater Schlüssel wird dort generiert und sollte niemals an eine andere Stelle kopiert werden. Es gibt keinen guten Grund, warum Ihr privater Schlüssel jemals an eine andere Stelle kopiert werden muss.
EEAA
1
Entschuldigung, ich denke du verstehst falsch. Ich habe meine Workstation und die Remote-Server A und B. Ich möchte, dass A und B sich gegenseitig SSH-fähig sind, ohne ihre individuellen Passwörter einzugeben. Meine Workstation kommt nicht dazu. Ich mache mir Sorgen, dass wenn A oder B kompromittiert werden, dies auch der andere ist.
Matt Joiner
4
Bewahren Sie in diesem Fall für jedes System separate Schlüssel auf, die Konten mit den am wenigsten benötigten Berechtigungen auf jedem Server zugewiesen sind. Verwenden Sie nach Möglichkeit die command=Anweisung in der Datei authorized_keys, um jeden Schlüssel auf einen bestimmten Befehl zu beschränken, anstatt auf eine vollständige Shell zuzugreifen.
EEAA
Diese Schlüssel sind nicht für root, oder? Verwenden Sie das geringste Privileg, um die Auswirkungen zu minimieren, die ein Kompromiss auf A auf B haben könnte. Chroot, wo möglich oder, wie @EEAA sagte, Befehlsbeschränkungen.
Aaron Copley