Ich versuche, die SSH-Authentifizierung mit Schlüsseldateien anstelle von Benutzername / Passwort einzurichten. Der Client ist eine Windows-Box, auf der PuTTY ausgeführt wird, und der Server ist ein Ubuntu 12.04 LTS-Server.
Ich lud puttygen.exe herunter und ließ es ein Schlüsselpaar erzeugen. In /etc/ssh/sshd_config
ich habe diese Zeile:
AuthorizedKeysFile %h/.ssh/authorized_keys
In der öffentlichen Schlüsseldatei meines Kunden heißt es:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my@email.address.com"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=my@email.address.com
---- END SSH2 PUBLIC KEY ----
Ich habe den Teil von "ssh-rsa AAA" nach "my@email.address.com" kopiert und in die Datei ~/.ssh/authorized_keys
auf meinem Server (in meinem eigenen Ordner) geschrieben. In PuTTY habe ich unter Connection> SSH> Auth den Pfad zu dem privaten Schlüssel eingegeben, den es auf meinem Client generiert hat, und die Sitzungseinstellungen gespeichert.
Ich habe den ssh-Server mit neu gestartet
sudo service ssh restart
Wenn ich nun das Profil in PuTTY lade (ich habe überprüft, dass der private Schlüssel noch in Connection> SSH> Auth ist und der Pfad korrekt ist) und das Profil ausführe, heißt es
Server refused our key
Ich habe versucht, den öffentlichen Schlüssel in einer Datei unter dem Verzeichnis ./ssh/authorized_keys/
abzulegen, aber das hat nicht geholfen, also habe ich ihn ./ssh/authorized_keys
als Datei verwendet und den Schlüssel darin eingefügt. Ich habe auch versucht, ein privates / öffentliches Schlüsselpaar auf dem Server zu generieren, den öffentlichen Schlüssel ./ssh/authorized_files
einzugeben und den privaten Schlüssel in PuTTY auf meinen Client zu laden. Ein Neustart des Servers hat auch nicht geholfen.
Ich habe festgestellt, dass der Fehler möglicherweise behoben werden kann, indem der Schlüssel außerhalb des Basisordners des Benutzers abgelegt wird. Dies ist jedoch nur sinnvoll, wenn der Basisordner verschlüsselt ist, was bei diesem nicht der Fall ist.
Ich habe auch versucht, einen 4096-Bit-Schlüssel zu generieren, da ich dachte, 1024 wäre zu kurz.
Wie kann ich das zum Laufen bringen? Vielen Dank!
BEARBEITEN:
Ok, /var/log/auth.log
sagte:
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
Google sagt mir, ich ~/.ssh/
solle 700 und ~/.ssh/authorized_keys
600 sein, also habe ich das gemacht. Jetzt /var/log/auth.log
sagt:
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]
sshd: error: key_read: uudecode AAAAB3N
Fehler passiertauth.log
?