Forums Neueste Beiträge
 

Sicherer Umgang mit Passwörtern in Skripten

12/06/2011 - 18:09 von Michael Schuerig | Report spam
Ich habe ein Skript, das weitere Programme aufruft, die Passwörter
brauchen. Bisher ist es so, dass diese Programme nach den Passwörtern
fragen, wenn sie diese brauchen. Das kann einige Zeit nach dem Start des
Skripts sein und ist vor allem làstig, weil das Skript dadurch nicht
unbeaufsichtigt laufen kann.

Konkret werden die Passwörter von zwei Programmen benötigt: encfs und
einem selbstgeschriebenen Ruby-Skript, dass per gpgme GPG verwendet.

Das GPG-Passwort kann ich schon früh anfordern, indem in am Anfang des
Skripts GPG aufrufe:

echo "foo" | gpg --clearsign - > /dev/null

Von da an kümmert sich der gpg-agent um alles weitere.

Etwas àhnliches würde ich gerne für encfs machen. Das arbeitet zwar von
sich aus nicht mit irgendwelchen Agents, kann aber das Passwort von
stdin lesen. Ist es möglich, gpg-agent für diesen Zweck zu verwenden?

Michael

Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/
 

Lesen sie die antworten

#1 Fr
14/06/2011 - 12:23 | Warnen spam
Am 12.06.2011 18:09, schrieb Michael Schuerig:

Ich habe ein Skript, das weitere Programme aufruft, die Passwörter
brauchen. Bisher ist es so, dass diese Programme nach den Passwörtern
fragen, wenn sie diese brauchen. Das kann einige Zeit nach dem Start des
Skripts sein und ist vor allem làstig, weil das Skript dadurch nicht
unbeaufsichtigt laufen kann.

Konkret werden die Passwörter von zwei Programmen benötigt: encfs und
einem selbstgeschriebenen Ruby-Skript, dass per gpgme GPG verwendet.



Sofern es encfs betrifft: Damit mounte ich eine verschlüsselte
Dropbox bei Login an meinem System. Das geschieht ohne Interaktion,
indem ich folgendes in meinem Skirpt mache:

echo "${key}" | encfs --stdinpass ${cryptedDir} ${uncryptedDir}

wobei "$key" das bei mir selben Skript definierte Passwort ist.
Genausogut könnte das Passwort in einer anderen Datei stehen,
die man per pipe an encfs übergibt:

cat "${keyFile}" | encfs --stdinpass ${cryptedDir} ${uncryptedDir}

HTH,
Frank

Ähnliche fragen