
Ich habe Konten auf zwei Maschinen: H1 und H2. Ich habe SSH-Schlüssel auf H1 erstellt und auf S1 installiert. Ich kann jetzt von H1 aus per SSH auf S1 zugreifen. Dasselbe möchte ich von H2 aus tun. Wie installiere ich die auf H1 generierten SSH-Schlüssel auf H2?
Antwort1
Bearbeitet:Wenn Sie beide Rechner besitzen, können Sie Ihren privaten Schlüssel teilen. AberDiese Lösung ist nicht sicherzum Beispiel bei Diebstahl Ihres Notebooks oder für Geräte, die Ihnen nicht gehören.
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 anzumelden. Wenn Sie bei H1 sind, führen Sie diese Befehle aus:
H1$ ssh H2 mkdir ~/.ssh
H1$ scp ~/.ssh/id_rsa ~/.ssh/id_dsa H2:~/.ssh/
Achtung! Dadurch werden alle privaten Schlüssel, die Sie bei H2 hatten, gelöscht und ersetzt.
Besserer Wegist die Generierung neuer privater Schlüssel auf H2 (ssh-keygen
) und installieren Sie deren öffentlichen Teil auf S1 mitssh-copy-id
util. In diesem sichereren Fall haben Sie zwei Schlüsselsätze; einer ist für die H1-S1-Anmeldung und der 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 (zum Beispiel, wenn Ihr Notebook gestohlen wird oder der Besitzer des Computers beschließt, Ihr Konto zu deaktivieren und alle Ihre Dateien wiederzuverwenden).
Antwort2
Verwendenssh-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 Remotecomputer anzumelden und die angegebene Identitätsdatei an die Datei ~/.ssh/authorized_keys dieses Computers anzuhängen.
Antwort3
Verwenden Sie zwei private Schlüssel
Richten Sie H2 mit dem gleichen Verfahren ein (abernichtdenselben privaten Schlüssel) wie beim Einrichten von H1:
- Es gibt nie einen guten Grund, einen privaten Schlüssel von einem anderen Rechner 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]
(verwenden Sie jedoch Ihren tatsächlichen Benutzernamen und den Hostnamen von S1 und geben Sie später Ihr Passwort auf S1 ein, wenn Sie danach gefragt werden).
Dadurch wird der öffentliche Schlüssel Ihrer Arbeitsstation in der ~/.ssh/authorized_keys
Datei für diesen Benutzer auf dem Server installiert.
- Schritt 3 entfällt. Ab sofort können Sie sich von Ihrem H2 aus bei S1 anmelden und sich auch von Ihrem H1 aus bei S1 anmelden.
Einzelheiten
Ich nehme an, dass Sie eigentlich fragen:
- 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 Arbeitsstation („H2“) aus bei meinem Server anmelden.
Wie macht man das richtig?
- Ich nehme an, ich könnte mich einfach von beiden Orten aus mit demselben Passwort anmelden. Das kann nicht der richtige Weg sein, denn alle sagen, dass die Authentifizierung mit öffentlichem Schlüssel 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, denn alle sagen, dass der private Schlüssel den Client-Rechner niemals verlassen darf.
Den Leuten wird eingebläut, dass ein Konto auf einem Server nur einen einzigen Benutzernamen und natürlich nur ein einziges autorisiertes Passwort hat.
Public-Key-Systeme wie ssh sind besser als das Passwortsystem: Ein Konto auf einem Server hat einen einzigen Benutzernamen undeine beliebige Anzahl autorisierter öffentlicher Schlüssel, alle in der ~/.ssh/authorized_keys
Datei aufgeführt.
(mehr Details).
Antwort4
Zum Verschieben von SSH-Schlüsseln von einem Computer auf einen anderen. Kopieren Sie einfach den gesamten Ordner ~/.ssh von H1 (alte Maschine) in den Inhaltsordner ~/.ssh der neuen Maschine H2.
Versuchen Sie jetzt:
ssh[email geschützt](Ihre S1-IP)
Höchstwahrscheinlich erhalten Sie eine Berechtigungswarnung, um diesen Lauf zu beheben:
chmod 400 ~/.ssh/id_rsa
Nun wieder:
ssh[email geschützt](Ihre S1-IP)
Jetzt funktioniert es einwandfrei.