Wie verwende ich öffentliche Schlüssel für die Verbindung mit mehreren Servern?

385
user61766

Angenommen, ich habe 4 Server A, B, C und Z und mein Desktop ist MacBox und es gibt einen anderen Entwickler, Adam. Ich habe bereits öffentliche private Schlüsselpaare in meiner MacBox generiert und den öffentlichen Schlüssel nach A kopiert, sodass ich jetzt problemlos ssh user @ A verwenden kann. Server A enthält jetzt ~ / .ssh / authorised_keys, die den öffentlichen Schlüssel von MacBox enthalten.

(1) Jetzt möchte ich in der Lage sein, ssh in B und C von der MacBox aus zu machen. Muss ich erneut öffentliche / private Schlüsselpaare für B und C generieren? Oder ich kann einfach den bereits für A generierten öffentlichen Schlüssel in B und C kopieren?

(2) Server Z möchte auch mit ssh über Schlüssel auf B zugreifen können, so dass das auf Server Z ausgeführte Skript Remote-Befehle auf Server B ausführen kann. Muss ich mich in Z einloggen und Schlüsselpaare generieren und den öffentlichen Schlüssel von Server Z nach B kopieren?

(3) Ich möchte, dass sich Adam an Server B anmelden kann. Muss ich das Kennwort von Server B an Adam übergeben, damit er Schlüsselpaare generieren kann und seinen öffentlichen Schlüssel nach B kopiert? Wie alle Server ist B Linux-Betriebssystem und hat zusätzlich zum root-Benutzer ein userB-Konto. Ich bin der Besitzer von Server A, B und C. Ich habe die Möglichkeit, das Konto "adam" zu erstellen und adam sudo-Privilegien wie userB zu erteilen, damit er Systembefehle wie das Starten und Beenden von Diensten erhalten kann. Es muss noch herausgefunden werden, ob es einen Sicherheitsvorteil gibt, wenn ein separates Konto für Adam erstellt wird, oder einfach Adam BenutzerbenutzerB.

0

1 Antwort auf die Frage

2
Lewis M

Jeder Benutzer benötigt nur ein einzelnes öffentliches / privates Schlüsselpaar von ssh. Sie fügen den öffentlichen Schlüssel auf jedem Server, auf dem sich der Benutzer anmelden soll, an die authorized_keys-Datei des Benutzers an.

Die meisten Linux-Distributionen bieten ein Werkzeug namens ssh-copy-id, das die Arbeit für Sie erledigt. Es ist dem Befehl ssh ähnlich. Hoffentlich haben auch Macs diesen Befehl.

Die Antwort auf Ihre Fragen lautet also wie folgt: 1. Führen Sie in der MacBox "ssh-copy-id user @ B" aus, um Ihren öffentlichen Schlüssel in die authorisierte_keys-Datei des Benutzers auf Server B zu laden. Führen Sie "ssh-copy-id user @" aus. C ", um dasselbe für Server C zu tun.

  1. Sie haben nicht angegeben, welcher Benutzer auf Server Z eine Verbindung mit B herstellen muss. Wenn userZ bereits ein ssh-Schlüsselpaar hat, müssen Sie dieses verwenden. Führen Sie erneut "ssh-copy-id user @ B" auf Server Z aus, um die Einstellungen vorzunehmen.

  2. Hat Adam ein Konto auf Server B? Möchten Sie, dass Adam ein bestimmtes Konto verwendet, um sich bei Server B anzumelden? Wenn Adam kein Konto auf Server B hat, müssen Sie wahrscheinlich ein Konto für Adam erstellen, bevor Sie etwas mit SSH tun. Wenn Sie möchten, dass sich Adam mit einem bestimmten Konto bei Server B anmeldet und das Konto bereits vorhanden ist, ist keine Benutzererstellung erforderlich. Nachdem sich Adam bei Server B angemeldet hat, muss er ein SSH-Schlüsselpaar erstellen. Nachdem Adam es erstellt hat, kann Adam das öffentliche Schlüsselteil mit dem Programm ssh-copy-id auf Server B laden. Das Ausführen von "ssh-copy-id B" ist dasselbe wie "ssh-copy-id Adam @ B", wenn Adam hat seinen eigenen Bericht. Wenn Sie "ssh-copy-id user @ B" ausführen, wird Adams öffentlicher Schlüssel in die Datei "authorized_keys" des Benutzers auf Server B eingefügt.

Hoffe das hilft.

danke für die antwort, ich habe die frage zur klärung aktualisiert. user61766 vor 5 Jahren 1
Re: OP's edit: Gib Adam sein eigenes Konto. Im Wesentlichen kann Adams Schlüsselpaar anstelle seines Passworts verwendet werden. Er kann seine gleichen Schlüssel für alle 3 Server verwenden oder verschiedene generieren. Da nur Adam seinen privaten Schlüssel hat, kann nur Adams Konto verwenden. Auf diese Weise, wenn Sie Adams Konto deaktivieren oder ihm mehr / weniger Berechtigungen geben möchten. Ich erstelle Konten mit einem Passwort und sobald das Schlüsselpaar funktioniert, deaktivieren Sie das Passwort. Tyson vor 5 Jahren 0
Aktuelle Versionen von macOS haben `ssh-copy-id`, aber ich bin mir nicht sicher, welche Version sie zuerst hinzugefügt hat. Gordon Davisson vor 5 Jahren 0