Deaktivieren Sie vorübergehend die SSH-Authentifizierung mit öffentlichem Schlüssel für den Client

37

Gibt es eine Möglichkeit, die Authentifizierung mit öffentlichen Schlüsseln beim Senden vorübergehend zu deaktivieren und stattdessen die Kennwortauthentifizierung zu verwenden?

Ich möchte momentan auf einen Remote-Server zugreifen, benutze aber einen anderen Laptop, nicht meinen.

Beim Durchsuchen dieses Links stellte ich fest, dass der Befehl ssh -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no host1.example.orgnicht überall funktioniert. Und ja, das funktioniert bei mir nicht. Ich benutze: OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14. März 2012

Bearbeiten: Ich habe auch versucht zu tippen, ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no aber immer noch "Berechtigung verweigert (publickey)".

Gibt es also eine bestimmte Konfiguration auf dem Remote-Server, damit dieser Befehl funktioniert? Oder wann funktioniert dieser Befehl wie erwartet?

Vielen Dank für Ratschläge.

Nsukami _
quelle
30
Wenn Sie dem Link erneut folgten, gab es jemanden, der angab, dass Ihre Methode nicht funktioniert hat, aber dies tat es:ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no
NickW
@NikW Vielen Dank, vielleicht hätte ich es erwähnen sollen, habe den von Ihnen vorgeschlagenen Befehl ausprobiert und trotzdem die "Erlaubnis verweigert (publickey)".
Nsukami _
1
Triff dieses Problem einfach, weil mein Laptop eine TONNE von Schlüsseln hatte und ssh alle ausprobierte und ich abgelehnt wurde, bevor ich überhaupt die Möglichkeit hatte, ein Passwort einzugeben. Danke für die Frage.
Dallaylaen
3
@NickW Wenn Sie Ihren Kommentar als Antwort angeben, würde ich ihn positiv bewerten.
Labyrinth

Antworten:

9

Dies klingt nach einem Konfigurationsproblem auf der Serverseite.

Wenn der Server die Authentifizierung mit öffentlichem Schlüssel und Kennwort zulässt, sollten Sie auch dann zur Eingabe eines Kennworts aufgefordert werden, wenn Sie versuchen, eine Verbindung herzustellen, ohne dass auf dem Client eine private Schlüsseldatei vorhanden ist.

Wenn die Fehlermeldung angezeigt "Permission denied (publickey)" wird, scheint die Kennwortauthentifizierung auf Ihrem Server nicht unterstützt zu werden.

Ohne die Datei / etc / sshd_config zu sehen, ist es schwierig zu wissen, aber ich vermute, dass Sie sicherstellen müssen, dass die folgende Zeile vorhanden ist:

PasswordAuthentication yes

Starten Sie den ssh-Server neu. Wenn Sie vom Client aus eine Verbindung herstellen, sollten Sie zur Eingabe eines Kennworts aufgefordert werden, wenn kein privater Schlüssel vorhanden ist oder wenn der private Schlüssel nicht mit dem öffentlichen Schlüssel auf dem Server übereinstimmt.

Eine sicherere Alternative dazu wäre natürlich, Ihren privaten Schlüssel auf den von Ihnen verwendeten Laptop zu kopieren oder einen neuen privaten Schlüssel zu generieren, der auf diesem Laptop verwendet wird, und den öffentlichen Schlüssel hinzuzufügen .ssh/authorized_keys

v25
quelle
6

Machen Sie einfach eine ID-Datei, die leer ist.

touch $HOME/.ssh/blank

Wenn Sie die Berechtigung 640 oder 644 verlassen, beschwert sich ssh, dass die Berechtigungen nicht sicher genug sind und sie nicht verwenden. Wenn Sie es auf 600 ändern, werden Sie dreimal zur Eingabe eines Kennworts aufgefordert, was fehlschlägt, da kein Kennwort vorhanden ist. Also lass es einfach 640 oder 644.

Wenn Sie dann ssh verwenden Sie diesen Befehl.

ssh -i $HOME/.ssh/blank servername-or-ip

Sie können .ssh / config verwenden und einen Host-Eintrag festlegen, der den Schlüssel nicht verwendet, aber weniger temporär ist, oder Sie können Aliase für Server und Server-nokey erstellen, aber der Vorgang dauert lange und ist schwierig zu warten.

Shane
quelle
5
-i /dev/nullfunktioniert auch und benötigt keine Überprüfungsberechtigungen.
Svvac
Blank / null Dateien nicht funktionieren, sshsagt Load key "/dev/null": invalid format, dann geht es um die anderen Schlüssel verwenden Sie trotzdem konfiguriert haben, und versagt dann in Grund zu vieler Authentifizierungsfehler zu protokollieren.
Malvineous
Bei mir hat das nicht geklappt. Vielleicht wurden meine Anmeldeinformationen im Gnomenschlüsselbund gespeichert.
Jaroslaw Nikitenko