Ich muss ssh über die Windows-Befehlszeile ausführen , indem ich das Kennwort nicht interaktiv gebe. Ich könnte die schlüsselbasierte Authentifizierung implementieren und die ssh-Befehle genauso ausführen
ssh <user>@<host> <command>
Gibt es irgendwelche Befehle wie
ssh <user>@<host> -P <password> <command>
Ich weiß nicht, ob es machbar ist. Es kann jedoch einige Probleme geben. Wirf mir ein paar Ideen, um dasselbe zu erreichen.
command-line
ssh
passwords
Balachandar
quelle
quelle
Antworten:
PuTTYs Plink hat ein Befehlszeilenargument für ein Passwort . In den Antworten auf diese Frage wurden einige andere Vorschläge gemacht : Verwenden von Expect (das für Windows verfügbar ist) oder Schreiben eines Startprogramms in Python mit Paramiko.
quelle
Das Dienstprogramm sshpass ist genau dafür gedacht. Installieren Sie zuerst sshpass, indem Sie diesen Befehl eingeben:
Stellen Sie dann Ihren Befehl ssh / scp mit voran
Dieses Programm ist unter Linux am einfachsten zu installieren.
Benutzer sollten stattdessen die sicherere Authentifizierung mit öffentlichem Schlüssel von SSH (mit dem
ssh
Befehl) in Betracht ziehen .quelle
sudo port install sshpass
. Wenn jedoch aufgrund eines anderen Problems ein Problem beim Anmelden auftritt, schlägt sshpass in der Regel stillschweigend fehl (keine Fehlermeldung). Debuggen Sie den Befehl also ohnesshpass
vorher; dann hinzufügensshpass -p blah
(etc.).Was ist mit diesem Erwartungsskript?
quelle
expect
wird notorisch unterschätzt!Windows- Lösung
Windows-Key + R
putty.exe -ssh [username]@[hostname] -pw [password]
quelle
PowerShell-Lösung
Verwenden von Posh-SSH:
quelle