Ich habe eine 12.10-Serverkonfiguration in einer virtuellen Maschine, deren Netzwerk auf Bridged eingestellt ist (im Wesentlichen wird dies als Computer angesehen, der mit meinem Switch verbunden ist).
Ich habe opensshd über installiert apt-get
und konnte mich mit meinem Benutzernamen und Passwort über putty mit dem Server verbinden.
Ich machte mich dann daran zu versuchen, ihn dazu zu bringen, die Authentifizierung mit öffentlichen / privaten Schlüsseln zu verwenden. Ich habe folgendes gemacht:
- Generierte die Schlüssel mit PuttyGen.
- Verschob den öffentlichen Schlüssel nach
/etc/ssh/myusername/authorized_keys
(ich verwende verschlüsselte Home-Verzeichnisse). Richten Sie
sshd_config
wie folgt ein:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
Wenn ich eine Verbindung über Putty oder WinSCP herstelle, wird die Fehlermeldung "Keine unterstützten Authentifizierungsmethoden verfügbar" angezeigt (Server hat öffentlichen Schlüssel gesendet).
Wenn ich mich sshd
im Debug-Modus befinde, sehe ich:
PAM: initializing for "username"
PAM: setting PAM_RHOST to "192.168.1.7"
PAM: setting PAM_TTY to "ssh"
userauth-request for user username service ssh-connection method publickey [preauth]
attempt 1 failures 0 [preauth]
test whether pkalg/pkblob are acceptable [preauth[
Checking blacklist file /usr/share/ssh/blacklist.RSA-1023
Checking blacklist file /etc/ssh/blacklist.RSA-1023
temporarily_use_uid: 1000/1000 (e=0/0)
trying public key file /etc/ssh/username/authorized_keys
fd4 clearing O_NONBLOCK
restore_uid: 0/0
Failed publickey for username from 192.168.1.7 port 14343 ssh2
Received disconnect from 192.168.1.7: 14: No supported authentication methods available [preauth]
do_cleanup [preauth]
monitor_read_log: child log fd closed
do_cleanup
PAM: cleanup
Warum passiert das und wie kann ich das beheben?
Antworten:
Problem gelöst:
Anscheinend ist ein Problem mit meiner öffentlichen Schlüsseldatei aufgetreten. PuttyGen erstellt eine öffentliche Schlüsseldatei, die wie folgt aussieht:
Dies funktioniert jedoch nicht. Sie müssen also den Schlüssel in PuttyGen öffnen und von dort kopieren (dies führt dazu, dass der Schlüssel das richtige Format und eine Zeile aufweist):
Fügen Sie dies ein,
authorized_keys
dann sollte es funktionieren.quelle
authorized_keys
in vi und entfernte alle Zeilenumbrüche und es funktionierte./etc/ssh/sshd_config
Datei.PasswordAuthentication
undChallengeResponseAuthentication
zuyes
.3a. Starten Sie ssh neu
/etc/init.d/ssh restart
.ODER
3b. besser du verwendest
service sshd restart
quelle
PasswordAuthentication
aufno
.ChallengeResponseAuthentication
, es hat das Problem auf einem Debian 10.0Nur ein Tipp, von dem ich hoffe, dass er jemand anderem bei den Kopfschmerzen hilft, die ich hatte. F21 ist richtig, dass Sie den Schlüssel aus dem PuTTYGen-Fenster kopieren müssen, anstatt die Datei zu speichern. Nach dem Kopieren kann die Art des Einfügens jedoch erhebliche Auswirkungen darauf haben, ob Ihr Schlüssel funktioniert oder nicht. Einige Editoren ändern den Text beim Einfügen oder machen etwas mit Zeilenumbrüchen oder etwas, das die authorized_keys-Datei ungültig macht.
Was ich als am wenigsten anfällig empfunden habe, ist das Echo der gesamten Zeichenfolge und die Umleitung der Ausgabe in die Datei. Wenn Sie mit der rechten Maustaste auf PuTTY klicken, um die Schlüsselzeichenfolge in die Befehlszeile einzufügen, sieht dies folgendermaßen aus (im obigen Beispiel):
Sie werden am Ende mit diesem:
Ein weiterer Vorteil dieser Methode ist, dass Sie auf diese Weise mehrere Schlüssel hinzufügen können, indem Sie >> zum Anhängen anstelle von> zum Überschreiben verwenden. Beispiel:
Hoffe das hilft jemandem.
quelle
Wir haben bereits den richtigen Schlüsseltyp verwendet (ppk statt pem).
In unserem Fall war es ein Problem mit den Dateiberechtigungen für authorized_keys im Serverbenutzerordner. Es muss -rw-r - r-- sein ... Es war -rw-rw-r--
ssh ist sehr pingelig in Bezug auf Datei-Perms.
quelle
Gelöst:
quelle
In meinem Fall lag der Grund darin, dass die private Schlüsseldatei (.ppk) im Putty-Authentifizierungsagenten, z. B. Pageant, entfernt wurde. Ich habe es gerade wieder auf Pageant aktualisiert und die Verbindung hat danach einwandfrei funktioniert.
quelle