Mittwoch, 10. November 2021

SSH Passwortübergabe in Skripten

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

Proxmox Memory Problem mit WIN2012 und SQL Server

 In meinen Kundenumgebungen beobachte ich eine sehr hohe Speicherauslastung bei Microsoft SQL Servern. Der Durchschnitt liegt bei >90% Sp...