Wenn ich die Pubkey-Authentifizierung von zB: einem Ubuntu 11.04 verwende, wie kann ich den SSH-Client so einstellen, dass er nur die Kennwortauthentifizierung für einen Server verwendet? (Wird nur zum Testen von Passwörtern auf einem Server benötigt, auf dem ich mich standardmäßig mit dem Schlüssel anmelde.)
Ich habe einen Weg gefunden:
mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup
und jetzt werde ich zur Eingabe eines Passworts aufgefordert, aber gibt es offizielle Möglichkeiten?
ssh
password
key-authentication
LanceBaynes
quelle
quelle
ssh -o GSSAPIAuthentication=no example.com
-o PubkeyAuthentication=no
in meinem Fall gereicht.-o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no
stattdessenPasswordAuthentication
. Tatsächlich bin ich hier, weil ich testen wollte, dass das Deaktivieren der Kennwortauthentifizierung auf meinem Host ordnungsgemäß funktioniert hat.Ich habe zu diesem Zweck eine Verknüpfung entdeckt:
Beachten Sie den Doppelpunkt (
:
) und das leere Kennwort danach.quelle
mysql -u user -p
ssh
Der Client hat blindlings versucht, sich mit nicht verbundenen privaten Schlüsseln bei einem neu installierten Server zu authentifizieren, und wurde weiterhin abgelehnt, da die maximale Anzahl von Versuchen erreicht wurde, ohne jemals nach dem Kennwort zu fragen. Um die Kennwortauthentifizierung für diese erste Verbindung zu erzwingen, musste ich die-o PreferredAuthentications=password
Syntax verwenden, wobei der Doppelpunkt-Trick keinen erkennbaren Effekt hatte. Während es sich also lohnt, diesen Trick auszuprobieren, sollte man sich nicht auf ein konsistentes Verhalten verlassen.Neben der von scoopr bereitgestellten Methode können Sie in der Konfigurationsdatei Ihres ssh-Clients Optionen für jeden Host festlegen.
.ssh
Erstellen Sie in Ihrem Verzeichnis eine Datei mit dem Namenconfig
(falls noch nicht vorhanden) und legen Sie die Berechtigungen auf fest600
. Anschließend können Sie Abschnitte erstellen, die mit beginnenund danach die Optionen pro Host festlegen, z. B.
also könntest du haben
in dieser Datei und dann einfach
und die Option wird abgeholt.
quelle
~/.ssh/config
und hinzugefügtPubkeyAuthentication no
Ich brauchte dies kürzlich, aber keine der oben genannten Optionen funktionierte. Dies
ssh -v
zeigte, dass die über den-o
Schalter übergebenen Befehlszeilenoptionen durch die in meiner~/.ssh/config
Datei angegebenen Werte überschrieben wurden .Was funktionierte, war folgendes:
Von der
ssh
Manpage:Credits to this answer: Wie kann ich dafür sorgen, dass ssh .ssh / config ignoriert?
quelle
~/.ssh/config
, werden die Schlüssel nicht verwendet, wenn ich sie spezifiziere-F /dev/null
.ssh -v
Die Ausgabe hilft in diesem Fall und zeigt deutlich, dass ich, da ich in meiner ssh-Konfiguration einen alles überwindenden Eintrag für habe*
, den öffentlichen Schlüssel verwende, anstatt die über den-o
Switch übergebenen Optionen wie in den vorherigen Antworten zu respektieren .~/.ssh/id_rsa
auf der Handbuchseite angegeben. Diese Pfade sind im Client fest codiert. Stellen Sie lediglich sicher, dass Sie beim Testen den richtigen Benutzer angeben.Ich habe ein paar dieser Antworten ausprobiert, aber
ssh -v
meine öffentlichen Schlüssel wurden immer wieder aus meinem Home-Verzeichnis gezogen. Die Angabe einer gefälschten Identitätsdatei hat mir jedoch geholfen:Ich habe diese (permanent tun um den gebrochenen SSH - Server in einem APC Rack-PDU zu arbeiten - bleibt weit von diesen Dingen weg , wenn Sie um die Sicherheit kümmern - so endete ich die Möglichkeit , ich in der Konfigurationsdatei aufstellen:
quelle
Die Antworten von @scoopr und @Halil Özgür haben bei mir nicht funktioniert.
Das hat bei mir funktioniert:
Quelle: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html
quelle
BatchMode=yes
Stellen Sie außerdem sicher, dass in .ssh / config kein aktiver Ordner vorhanden ist . Ansonsten haben Sie keine Chance, eine interaktive Passwortabfrage zu erhalten.quelle
Ich bin vielleicht der einzige auf der Welt mit diesem Problem, aber ich hatte ein
ssh
von einem anderen Betriebssystem ausgeführtes (choco ssh in Windows in einer Cygwin-Shell) viawhich ssh
Also war die Lösung zu
Notieren Sie den vollständigen Pfad. Ich habe das getan, nachdem ich gelaufen war
cyg-get openssh
quelle