Shell Passwort Verschlüsselung
Hallo,
Ich habe ein Skript geschrieben wo ich auch dachte das schon alles Funktioniert. Allerdings verschlüssle ich mein Passwort damit es nicht im Klartext in meinem Shell Skript steht. Allerdings habe ich das Problem, dass es nach einem Neustart des Systems die neu Eingabe des Passwortes verlangt, da es den Securestring aus der Text Datei loscht. Allerdings kann ich das Passwort nach einem Neustart nicht einfach neu eingeben, da das Skript auf einem Server liegen wird.
Mein Skript sieht Folgendermaßen aus:
Wenn jemand eine Idee hat wie man das Passort verschlüsseln kann damit dieser Fehler nicht mehr auftritt wäre ich sehr Dankbar.
Ich habe ein Skript geschrieben wo ich auch dachte das schon alles Funktioniert. Allerdings verschlüssle ich mein Passwort damit es nicht im Klartext in meinem Shell Skript steht. Allerdings habe ich das Problem, dass es nach einem Neustart des Systems die neu Eingabe des Passwortes verlangt, da es den Securestring aus der Text Datei loscht. Allerdings kann ich das Passwort nach einem Neustart nicht einfach neu eingeben, da das Skript auf einem Server liegen wird.
Mein Skript sieht Folgendermaßen aus:
$secure = read-host -assecurestring
$encrypted = convertfrom-securestring -secureString $secure -key (1..16)
$encrypted | set-content C:\Users\lkliegel\Documents\Projekte\Logfileüberwachung\encrypted.txt
$secure2 = get-content C:\Users\lkliegel\Documents\Projekte\Logfileüberwachung\encrypted.txt | convertto-securestring -key (1..16)
$UnsecurePassword = (New-Object PSCredential "username",$secure2).GetNetworkCredential().Password
Wenn jemand eine Idee hat wie man das Passort verschlüsseln kann damit dieser Fehler nicht mehr auftritt wäre ich sehr Dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 541218
Url: https://administrator.de/forum/shell-passwort-verschluesselung-541218.html
Ausgedruckt am: 25.04.2025 um 04:04 Uhr
10 Kommentare
Neuester Kommentar

Allerdings habe ich das Problem, dass es nach einem Neustart des Systems die neu Eingabe des Passwortes verlangt
Ist ja auch logisch wenn du die ersten 3 Zeilen im Skript belässt! Die ersten 3 Zeilen führt man ja nur einmalig aus und dann nicht wieder...Außerdem ist anzumerken das der Plaintext SecureString aus der Textdatei nur mit dem Account genutzt werden kann der ihn auch erstellt hat sofern man keinen Key hernimmt, da der Salt zum entschlüsseln im Userprofil gespeichert wird!

Kannst du , dir sollte aber immer bewusst sein das die User trotzdem an das Klartextpassword gelangen können auch wenn du im Skript dann doch wieder daraus Klartext machst ein Secure-String ist nur so sicher wie der Schutz seiner zugehörigen Schlüsseldateien
, reine Obfuscation halt.
https://icanthackit.wordpress.com/2018/07/28/aes-encrypted-credentials-f ...
https://icanthackit.wordpress.com/2018/07/28/aes-encrypted-credentials-f ...

Kommt vom Copy n Paste Syndrom
. Sieht doch ein blinder mit Krückstock überall Leerzeichen dazwischen!

Sicherheit.Kryptographie
Doppelt und dreifach aua, du solltest deinen Übersetzer oder was du da sonst an Browser oder Tools benutzt die Seiten verfälschen unbedingt raus lassen Tja, wenn man so PS lernen möchte sehe ich bitter bitter schwarz für dich ...
$keyfile = 'C:\Users\lkliegel\Documents\Projekte\Logfileüberwachung\key.txt'
$CreateKey = New-Object Byte 32
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($CreateKey)
$CreateKey | out-file $keyfile
Ich bin raus...ciao.