Bearbeitet:Wenn Sie beide Maschinen besitzen, können Sie Ihren privaten Schlüssel teilen. Aber diese Lösung ist nicht sicher für den Fall eines gestohlenen Notebooks oder für Maschinen, die Sie nicht besitzen.
Sie können Ihre privaten Schlüssel von H1 auf H2 kopieren, wenn Sie denselben privaten Schlüssel verwenden möchten, um sich von H2 auf S1 anmelden zu können. Wenn Sie bei H1 die Befehle ausführen:
H1$ ssh H2 mkdir ~/.ssh
H1$ scp ~/.ssh/id_rsa ~/.ssh/id_dsa H2:~/.ssh/
Warnung! Dadurch wird jeder private Schlüssel, den Sie bei H2 hatten, gelöscht und ersetzt.
Besserer Weg ist das Generieren neuer privater Schlüssel auf H2 (ssh-keygen
) und installieren Sie ihren öffentlichen Teil auf S1 mit ssh-copy-id
util. In diesem sichereren Fall haben Sie zwei Schlüsselsätze; eine ist für die H1-S1-Anmeldung und die zweite für die H2-S1-Anmeldung. Es gibt zwei öffentliche Schlüssel, die bei S1 autorisiert sind. Und Sie können einen oder beide widerrufen (z. B. wenn Ihr Notebook gestohlen wird oder der Eigentümer des Computers beschließt, Ihr Konto zu deaktivieren und alle Ihre Dateien wiederzuverwenden).
Verwenden Sie ssh-copy-id
ZUSAMMENFASSUNG
ssh-copy-id [-i [Identitätsdatei]] [[email protected]]machine
BESCHREIBUNG
ssh-copy-id ist ein Skript, das ssh verwendet, um sich bei einem entfernten Rechner anzumelden und die angegebene Identitätsdatei an die Datei ~/.ssh/authorized_keys dieses Rechners anzuhängen.
Zwei private Schlüssel verwenden
Richten Sie H2 mit demselben Verfahren ein (aber nicht denselben privaten Schlüssel) wie beim Einrichten von H1:
- Es gibt nie einen guten Grund, einen privaten Schlüssel von einer anderen Maschine zu kopieren. Wenn Sie noch keinen neuen privaten Schlüssel auf H2 generiert haben, tun Sie dies jetzt. Generieren Sie auch den entsprechenden öffentlichen Schlüssel. In einem Terminal auf H2,
Typ:ssh-keygen -t rsa
- Kopieren Sie den öffentlichen Schlüssel Ihres H2 auf den Server. In einem Terminal auf H2,
Typ:ssh-copy-id [email protected]
(Aber verwenden Sie Ihren tatsächlichen Benutzernamen auf S1 und den Hostnamen von S1 und geben Sie später Ihr Passwort auf S1 ein, wenn es danach gefragt wird).
Dadurch wird der öffentliche Schlüssel Ihrer Workstation in ~/.ssh/authorized_keys
installiert Datei für diesen Benutzer auf dem Server.
- Es gibt keinen Schritt 3. Von nun an können Sie sich von Ihrem H2 aus bei S1 und auch von Ihrem H1 aus bei S1 anmelden.
Einzelheiten
Ich nehme an, was Sie wirklich fragen, ist
- Ich habe einen Server ("S1")
- Ich melde mich von meinem persönlichen Laptop ("H1") bei meinem Server an
- Ich möchte mich auch von meiner Workstation ("H2") bei meinem Server anmelden.
Was ist der richtige Weg, das zu tun?
- Ich nehme an, ich könnte mich einfach von beiden Orten aus mit demselben Passwort anmelden. Das kann nicht der richtige Weg sein, denn jeder sagt, dass die Authentifizierung mit öffentlichen Schlüsseln viel besser ist als Passwörter. (a)
- Ich nehme an, ich könnte den privaten Schlüssel einfach von meinem Laptop auf meine Workstation kopieren. Das kann nicht der richtige Weg sein, weil alle sagen, dass der private Schlüssel niemals den Client-Rechner verlassen soll.
Den Leuten wird eingehämmert, dass ein Konto auf einem Server einen einzigen Benutzernamen und natürlich ein einziges autorisiertes Passwort hat.
Systeme mit öffentlichen Schlüsseln wie ssh sind besser als das Passwortsystem:Ein Konto auf einem Server hat einen einzigen Benutzernamen und eine beliebige Anzahl autorisierter öffentlicher Schlüssel , alle in ~/.ssh/authorized_keys
aufgeführt Datei.
(mehr Details).