Antworten:
Bearbeitet: Wenn Sie beide Computer besitzen, können Sie Ihren privaten Schlüssel freigeben. Aber diese Lösung ist nicht sicher für Fall gestohlenen Notebooks oder für Maschinen , die Sie nicht besitzen.
Sie können Ihre privaten Schlüssel von H1 nach H2 kopieren, wenn Sie denselben privaten Schlüssel verwenden möchten, um sich von H2 nach S1 anmelden zu können. Wenn Sie in H1 die folgenden Befehle ausführen:
H1$ ssh H2 mkdir ~/.ssh
H1$ scp ~/.ssh/id_rsa ~/.ssh/id_dsa H2:~/.ssh/
Warnung! Dies löscht und ersetzt jeden privaten Schlüssel, den Sie bei H2 hatten.
Besser ist es, neue private Schlüssel auf H2 ( ssh-keygen
) zu generieren und deren öffentlichen Teil mit ssh-copy-id
util auf S1 zu installieren. In diesem sichereren Fall haben Sie zwei Schlüsselsätze. Eine ist für die Anmeldung bei H1-S1 und die zweite für die Anmeldung bei H2-S1. In S1 werden zwei öffentliche Schlüssel autorisiert. Und Sie können eines oder beide von ihnen widerrufen (zum Beispiel, wenn Ihr Notebook gestohlen wird oder der Besitzer des Geräts entscheidet, Ihr Konto zu deaktivieren und alle Ihre Dateien wiederzuverwenden).
Verwenden ssh-copy-id
ZUSAMMENFASSUNG
ssh-copy-id [-i [identitätsdatei]] [benutzer @] maschine
BESCHREIBUNG
ssh-copy-id ist ein Skript, das ssh verwendet, um sich bei einem Remote-Computer anzumelden und die angegebene Identitätsdatei an die Datei ~ / .ssh / authorized_keys dieses Computers anzuhängen.
Richten Sie H2 mit dem gleichen Prozess (aber nicht mit dem gleichen privaten Schlüssel) wie bei der Einrichtung von H1 ein:
Art: ssh-keygen -t rsa
Art: ssh-copy-id username@S1.net
(Verwenden Sie jedoch Ihren tatsächlichen Benutzernamen für S1 und den Hostnamen von S1 und geben Sie später Ihr Kennwort für S1 ein, wenn Sie dazu aufgefordert werden).
Dadurch wird der öffentliche Schlüssel Ihrer Workstation in die ~/.ssh/authorized_keys
Datei für diesen Benutzer auf dem Server installiert .
Ich gehe davon aus, dass das, was Sie wirklich fragen, ist
Was ist der richtige Weg, um das zu tun?
Die Leute haben es sich in den Kopf gesetzt, dass ein Konto auf einem Server einen einzigen Benutzernamen und natürlich ein einziges autorisiertes Passwort hat.
Public-Key-Systeme wie ssh sind besser als das Passwortsystem: Ein Konto auf einem Server verfügt über einen einzigen Benutzernamen und eine beliebige Anzahl von autorisierten öffentlichen Schlüsseln , die alle in der ~/.ssh/authorized_keys
Datei aufgeführt sind.
( weitere Details ).
Würde ssh-copy-id den Job für Sie erledigen: http://linux.die.net/man/1/ssh-copy-id ?
Zum Verschieben von SSH-Schlüsseln von einem Computer auf einen anderen. Kopieren Sie einfach den gesamten Ordner von ~ / .ssh von H1 (alte Maschine) in den ~ / .ssh-Inhaltsordner der neuen Maschine H2.
Versuchen Sie jetzt:
ssh ubuntu@13.123.43.26 (deine S1 ip)
Höchstwahrscheinlich erhalten Sie eine Berechtigungswarnung, um diesen Lauf zu korrigieren:
chmod 400 ~ / .ssh / id_rsa
Nun wieder:
ssh ubuntu@13.123.43.26 (deine S1 ip)
Es wird jetzt gut funktionieren.
ssh-copy-id
ein Kinderspiel ist (kein Überschreiben vorhandener Schlüssel oder versehentliches Kopieren des privaten Schlüssels anstelle des öffentlichen Schlüssels) und eine weniger bekannte Lösung, sollten Sie in Betracht ziehen, eine dieser Antworten als akzeptierte Antwort zu akzeptieren.