Passwort mit Spezialzeichen in Powershell Script
Hallo,
habe einen Linux Client den ich gerne per SSH neustarten möchte. Das Problem ist mein starkes Passwort.
Passwort(natürlich komplett anders aber das "Muster" ist das selbe) ist in der $pw Variable gespeichert.
trotzdem bekomme ich immer ein Access Denied. Ich denke es liegt am Passwort. Habe schon das Internet ausgiebig gefragt aber konnte keine Lösung finden
habe einen Linux Client den ich gerne per SSH neustarten möchte. Das Problem ist mein starkes Passwort.
Passwort(natürlich komplett anders aber das "Muster" ist das selbe) ist in der $pw Variable gespeichert.
$pw = "MeQST^J0dLuG|;CRuh+}}W_)fe%3],"v7#]?7a4durY#9Gef,t,l^}~xqn|V"
Echo Y | plink -ssh 192.168.2.100 -l root -pw $pw "/sbin/reboot"
trotzdem bekomme ich immer ein Access Denied. Ich denke es liegt am Passwort. Habe schon das Internet ausgiebig gefragt aber konnte keine Lösung finden
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 501541
Url: https://administrator.de/forum/passwort-mit-spezialzeichen-in-powershell-script-501541.html
Ausgedruckt am: 19.02.2025 um 22:02 Uhr
11 Kommentare
Neuester Kommentar
Hi,
Das wird am " im Passwort liegen.
Wenn im Passwort kein Hochkomma ist, dann das Passwort in Hochkomma statt Anführungszeichen setzen.
Wenn im Passwort kein Anführungszeichen ist, dann das Passwort in Anführungszeichen statt Hochkomma setzen.
Wenn im Passwort beides enthalten ist, dann das Passwort in Anführungszeichen setzen und die " im Passwort doppelt schreiben.
E.
Das wird am " im Passwort liegen.
Wenn im Passwort kein Hochkomma ist, dann das Passwort in Hochkomma statt Anführungszeichen setzen.
Wenn im Passwort kein Anführungszeichen ist, dann das Passwort in Anführungszeichen statt Hochkomma setzen.
Wenn im Passwort beides enthalten ist, dann das Passwort in Anführungszeichen setzen und die " im Passwort doppelt schreiben.
$pw = 'MeQST^J0dLuG|;CRuh+}}W_)fe%3],"v7#]?7a4durY#9Gef,t,l^}~xqn|V'
oder
$pw = "MeQST^J0dLuG|;CRuh+}}W_)fe%3],""v7#]?7a4durY#9Gef,t,l^}~xqn|V"
E.
Moin,
1. Es ist keine gute Idee, sich direkt und ohne pk als root einzuloggen.
2. Es ist keine gute Idee, das Rootpasswort in einem Skript zu speichern.
3. Das, was @emeriks gesagt hat, beachten.
4. Es könnte bei Deinem Muster auch passieren, dass Zeichenfolgen wie ?{ oder %{ oder $x vorkommen. Das würde die PS dann als where-object oder foreach-object oder als Variable interpretieren.
Poste doch mal das Originalpasswort.
Liebe Grüße
Erik
1. Es ist keine gute Idee, sich direkt und ohne pk als root einzuloggen.
2. Es ist keine gute Idee, das Rootpasswort in einem Skript zu speichern.
3. Das, was @emeriks gesagt hat, beachten.
4. Es könnte bei Deinem Muster auch passieren, dass Zeichenfolgen wie ?{ oder %{ oder $x vorkommen. Das würde die PS dann als where-object oder foreach-object oder als Variable interpretieren.
Poste doch mal das Originalpasswort.
Liebe Grüße
Erik

Zitat von @emeriks:
Hi,
Das wird am " im Passwort liegen.
Wenn im Passwort kein Hochkomma ist, dann das Passwort in Hochkomma statt Anführungszeichen setzen.
Wenn im Passwort kein Anführungszeichen ist, dann das Passwort in Anführungszeichen statt Hochkomma setzen.
Wenn im Passwort beides enthalten ist, dann das Passwort in Anführungszeichen setzen und die " im Passwort doppelt schreiben.
E.
Oder man nutzt gleich einen Here-String mit Hochkomma dann ist egal was darin vorkommt und man muss es auch nicht escapenHi,
Das wird am " im Passwort liegen.
Wenn im Passwort kein Hochkomma ist, dann das Passwort in Hochkomma statt Anführungszeichen setzen.
Wenn im Passwort kein Anführungszeichen ist, dann das Passwort in Anführungszeichen statt Hochkomma setzen.
Wenn im Passwort beides enthalten ist, dann das Passwort in Anführungszeichen setzen und die " im Passwort doppelt schreiben.
> $pw = 'MeQST^J0dLuG|;CRuh+}}W_)fe%3],"v7#]?7a4durY#9Gef,t,l^}~xqn|V'
> oder
> $pw = "MeQST^J0dLuG|;CRuh+}}W_)fe%3],""v7#]?7a4durY#9Gef,t,l^}~xqn|V"
>
E.
$pw = @'
MeQST^J0dLuG|;CRuh+}}W_)fe%3],"v7#]?7a4durY#9Gef,t,l^}~xqn|V'
'@
Aber wie gesagt Plaintext Passwörter gehören nicht in Skripte! Das hat man vor Jahren vielleicht so gemacht, heutzutage ist das ein NOGO.
Zitat von @141320:
Aber wie gesagt Plaintext Passwörter gehören nicht in Skripte! Das hat man vor Jahren vielleicht so gemacht, heutzutage ist das ein NOGO.
Aber wie gesagt Plaintext Passwörter gehören nicht in Skripte! Das hat man vor Jahren vielleicht so gemacht, heutzutage ist das ein NOGO.
Das hat man auch vor Jahren und Jahrzehnten nicht gemacht, wenn man Ahnung von der Materie hatte. Der Unterschied ist, daß es sich inzwischen herumgesprochen hat, daß das noch nie eine gute Idee war und es inzwischen weniger Leute machen.
@to:
google mal nach horse battery staples xkcd um zu erfahren, wie man sichere Paßwörter ohne Sonderzeichen hinbekommt.
lks
PS: Sonderzeichen wollen "escaped" werden!
PPS: Bei ssh mit skripten nutzt man keys.
Edit: Tyos

PS: Sonderzeichen wollen "escaped" werden!
Im Here-String der PS mit Single Quotes nicht nötig, ohne here string natürlich richtig.
Moin,
Hier eine Anleitung für den TO wie das geht: https://twincreations.co.uk/pre-shared-keys-for-ssh-login-without-passwo ...
hth
Erik
PPS: Vei ssh mit skripten nutzt man keys.
Hier eine Anleitung für den TO wie das geht: https://twincreations.co.uk/pre-shared-keys-for-ssh-login-without-passwo ...
hth
Erik
Moin,
Ein Blick in das Handbuch: https://docs.microsoft.com/de-de/powershell/scripting/learn/remoting/ssh ...
Oder damit: https://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-p ...
Liebe Grüße
Erik
Zitat von @functionstrut:
Gibt es denn eine gescheite Anleitung um die Keys dann auch in Powershell zu nutzen für Script Ausführungen? Der Link oben beschreibt ja lediglich die Erstellung des Keys.
Gibt es denn eine gescheite Anleitung um die Keys dann auch in Powershell zu nutzen für Script Ausführungen? Der Link oben beschreibt ja lediglich die Erstellung des Keys.
Ein Blick in das Handbuch: https://docs.microsoft.com/de-de/powershell/scripting/learn/remoting/ssh ...
Oder damit: https://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-p ...
Liebe Grüße
Erik

Zitat von @Lochkartenstanzer:
Und wenn ein single quote im Paßwort ist, zusätzlich zum double quote?
Das ist eben egal bei Here-Strings das macht dort nichts !! Genauso wie bei Here-Strings in der Bash.Zitat von @141320:
PS: Sonderzeichen wollen "escaped" werden!
Im Here-String der PS mit Single Quotes nicht nötig, ohne here string natürlich richtig.Und wenn ein single quote im Paßwort ist, zusätzlich zum double quote?