OpenSSH – PuTTY (Schlüssel abgelehnt)

OpenSSH – PuTTY (Schlüssel abgelehnt)

Ich richte einen kleinen OpenSSH-Server ein, damit ich auf wichtige Dateien zugreifen kann, ohne direkt vor meinem Heimcomputer zu sitzen. Ich habe den Server erfolgreich eingerichtet, möchte jetzt aber eine Schlüsselauthentifizierung einrichten (damit es für jemanden etwas schwieriger ist, einzubrechen).

Ich habe die Schlüssel von meinem Lubuntu-Setup kopiert, sie auf meine Windows-Maschine kopiert und sie in .ppkdas Format mit konvertiertkittgen. In diesem SSH -> AuthAbschnitt habe ich meine RSA.ppkSchlüsseldatei ausgewählt, die Einstellungen gespeichert und mich beim Server angemeldet. Ich gebe meinen Benutzernamen ein, erhalte aber anschließend die Ausgabe: Server refused our key.

HostKeyIch habe die Zeilen für RSA, ECDSA, und ED25519in meinem auskommentiert sshd_config. Ich weiß nicht, was ich sonst tun soll.

Antwort1

Mit PuTTYgen habe ich ein zufälliges öffentliches/privates Schlüsselpaar erstellt und den Text im Ausgabefeld in die ~/.ssh/authorized_keysDatei eingefügt. Die Schlüsseldateiauthentifizierung funktioniert einwandfrei.

Antwort2

SSH verwendet zwei verschiedene Sätze asymmetrischer (privater/öffentlicher) Schlüssel – einen zur Authentifizierung des Hosts/Servers gegenüber dem/den Client(s) und optional einen anderen zur Authentifizierung eines Clients gegenüber dem Host/Server.

Die HostKeyKonfiguration in sshd_configist für die Schlüssel des Hosts, nicht für einen beliebigen Client. Die Direktive in , sshd_configdie die Pubkey-Authentifizierung für Clients aktiviert, ist PubKeyAuthentication, aber Sie müssen sie nicht angeben (oder normalerweise auskommentieren), da sie standardmäßig aktiviert ist.

Es sollte funktionieren, und das ist für mich auch der Fall, einen OpenSSH-generierten Schlüssel mit PuTTYgen zu konvertieren und ihn in PuTTY zu verwenden, wie Sie es beschrieben haben, aberNURwenn es für den entsprechenden Benutzer (*) ist ~/.ssh/authorized_keys– dies ist für JEDEN Client-Schlüssel erforderlich, unabhängig davon, wo oder wie er generiert wurde. Das Generieren eines Schlüssels auf einem Unix-System fügt ihn nicht automatisch authorized_keysauf diesem System hinzu (da Sie normalerweise kein SSH benötigen, um auf ein System zuzugreifen, auf dem Sie sich bereits befinden) oder auf einem anderen System (da dieses System nicht wissen kann, auf welche anderen Systeme Sie möglicherweise zugreifen möchten, darunter möglicherweise mehrere Jahre in der Zukunft). Sie erwähnen das Hinzufügen authorized_keysnur für Ihren neuen, von PuTTYgen generierten Schlüssel, nicht für den von Unix generierten und von PuTTYgen konvertierten.

(*) oder anderer Ort, wenn angegeben durch AuthorizedKeysFilein sshd_config, aber das ist selten

verwandte Informationen