WinSCP: Kennwörter mit Sonderzeichen richtig in der CLI oder in Skripten verwenden

Steuert man WinSCP via CLI oder Skript und kommen Kennwörter mit Sonderzeichen wie z.B. „%“, „$“, „!“, usw. zum Einsatz, so müssen diese passend konvertiert sein.

Der Hintergrund ist, das nur ASCII-Zeichen verwendet werden können, hinzu kommen Windows-eigene Spezialitäten. Bevor man nun lange herumexperimentiert kann man einen einfacheren Weg gehen:

  • Mit WinSCP (GUI) verbinden.
  • Auf „Session – Generate session-URL/code…“ klicken.
  • Nur „Username“ und „Password“ auswählen.
  • Auf „Copy to clipboard“ klicken.
  • In Editor einfuegen.
  • Der Wert zwischen „:“ und „@“ entspricht dem Passwort im richtigen Format.

Zu beachten sind die Besonderheiten der Windows-Eingabeaufforderung bzw. bei der Verwendung aus Batch-Skripte heraus. Enthält das Kennwort beispielsweise ein „%“-Zeichen muss dieses zweimal verwendet werden, da das Erste sozusagen geschluckt wird. Ein Beispiel:

Das eigentliche Passwort lautet: Geheim%123

set password=Geheim%%123echo %password% > upload.txt

Schaut man in die „upload.txt“ sieht man das eigentliche Kennwort. Lässt man das zweite „%“-Zeichen weg, wird das Kennwort verfälscht und es wird „Geheim123“ daraus.

Quellen:

WinSCP – Documentation – Features – Session URL – Special Characters

WinSCP – Documentation – Using WinSCP – Generate Session URL/Code/Transfer Code Dialog

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.