Wo sollte sich meine Datei „authorized_keys“ befinden, wenn ich auf „localhost“ ssh möchte?

Ich habe meinen öffentlichen / privaten Schlüssel eingerichtet, weiß aber nicht, wohin er gehen soll. Sollten beide Dateien in für meinen Benutzer?

Antwort

Der private Schlüssel bleibt zu Hause. Der öffentliche Schlüssel wird übertragen:

  • Platzieren Sie Ihren privaten Schlüssel in ~/.ssh (lokaler Host). Normalerweise ist dies ~/.ssh/id_rsa.
  • Platzieren Sie Ihren öffentlichen Schlüssel in ~/.ssh/authorized_keys (Remote-Host).

Während der erste Schritt normalerweise automatisch ausgeführt wird, wenn Sie den erstellen Schlüssel, der zweite kann erreicht werden durch:

$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost 

Wenn Sie eine Restkonfiguration bezüglich des Remote-Hosts haben, kann dies zu Problemen führen (Authentifizierung fehlgeschlagen) oder „zu viele Authentifizierungsfehler“ ). Um dieses Problem zu beheben, können Sie ssh-copy-id zwingen, die Kennwortauthentifizierung zu verwenden mit:

$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost 

Natürlich o Wenn Ihre Schlüssel korrekt platziert sind, ist kein Kennwort mehr erforderlich:

$ ssh user@remotehost 

Möglicherweise möchten Sie auch eine SSH-Konfiguration in , um es noch einfacher zu machen:

Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa 

Dank dessen können Sie einfach Folgendes eingeben, um sich beim Remote-Host anzumelden:

$ ssh [custom name for the remote machine] 

Bearbeiten: Wenn beide Computer (lokal und remote) identisch sind, können Sie das Verfahren vereinfachen mit:

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

Hiermit wird Ihr öffentlicher Schlüssel an die Datei authorized_keys angehängt. Eine andere Möglichkeit, sich als jemand anderes auf Ihrem lokalen Computer anzumelden, besteht darin, Folgendes zu verwenden:

$ su [another user] 

Dadurch wird die SSH-Transaktion dort gespeichert, wo Sie sie möglicherweise nicht benötigen . Passwortlos su kann mit sudo eingerichtet werden:

$ sudo -iu [another user] 

Kommentare

  • Ist dies dasselbe, wenn ich ssh localhost?
  • @MrDuk In diesem Fall sind sowohl das lokale als auch das Remote-Ende derselbe Computer. Daher muss sich Ihr öffentlicher Schlüssel lokal in ~/.ssh/authorized_keys befinden. Hierfür können Sie einfach cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys verwenden. Ich habe meine Antwort bearbeitet.
  • Vielleicht haben sich die Dinge seit Ihrer Antwort geändert, aber ich musste Ihrem ersten Befehl eine -i hinzufügen, damit der gesamte Befehl wie $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.