Grundsätzlich gilt: Es sollten niemals Passwörter im Klartext übergeben oder übers Netz geschickt werden. Wer SSH nutzt, sollte auf den passwortlosen Verbindungsaufbau mit öffentlichen und privaten Schlüsseln setzen. Manchmal muss man aber nur mal schnell was skripten, damit man einmalig irgendwelche Tasks auf anderen Hosts ausführen kann.
Für Trainings stelle ich oft Linux-Server in public-Clouds bereit, welche initial konfiguriert werden müssen, bevor ich mit Automatismen alle Einstellungen vornehme.
Beim Aufbau einer SSH-Verbindung ist es nicht möglich das Passwort an SSH zu streamen oder es direkt mitzugeben.
Dafür gibt es aber zum Glück ein Tools namens sshpass.
Die Syntax ist ganz einfach:
sshpass [ -p | -f | -e ] ssh user@beispiel.host
Parameter sind:
-p Das Passwort wird mit im Kommando übergeben
-f Das Passwort steht in einer Datei in der ersten Zeile
-e Das Passwort steht in der Environmentvariabel SSHPASS
Beispiele:
sshpass -p passwort ssh user@beispiel.host
--
echo "passwort" > secret.file
sshpass -f secret.file ssh user@beispiel.host
--
SSHPASS=passwort
sshpass -e ssh user@beispiel.host
Keine Kommentare:
Kommentar veröffentlichen