Wo speichert WinSCP die Informationen oder das Passwort der Site? Ich kann es nicht unter Dokumente und Einstellungen finden ...
Wo speichert WinSCP die Informationen oder das Passwort der Site? Ich kann es nicht unter Dokumente und Einstellungen finden ...
Antworten:
Die Konfigurationsdatei wird entweder in der Windows-Registrierung oder, wenn Sie die portable Version verwenden, in einer INI-Datei gespeichert. ( Siehe Dokumentation. ) Der Registrierungsspeicherort lautet:
HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2
Sie können die Einstellungen jederzeit in eine INI-Datei exportieren, indem Sie Export
im Einstellungsdialog auf klicken.
Beachten Sie, dass Ihre Passwörter nicht in Textform gespeichert, sondern verschlüsselt sind. Obwohl schwer zu entschlüsseln, ist es nicht unmöglich.
Versuchen Sie diese Methode.
Loggen Sie sich in Ihre gespeicherte Sitzung ein
Gehe zum Sitzungsmenü
Klicken Sie auf URL generieren
überprüfe nur die Benutzernamen- und Passwortoptionen (Wenn du den aktuellen Verzeichnispfad benötigst, klicke auch auf diese Option)
Sie haben mehrere Möglichkeiten, URL / Script / .Net Assembly, wählen Sie die gewünschte.
Klicken Sie auf Copy to Clip Board.
Es wird Benutzername und Passwort enthalten.
das ist es.
Dies ist eine vereinfachte Version von Cesar's
excellent answer und setzt voraus, dass Ihr Passwort in SCP noch funktioniert.
Erstellen Sie eine Batchdatei mit dem Namen echo.cmd
, die Folgendes enthält:
echo %*
pause
Platzieren Sie es an einem geeigneten Ort, z. B. auf Ihrem Desktop.
Starten Sie WinSCP und stellen Sie eine Verbindung zu Ihrer Site her. Klicken Sie auf Options -> Preferences
:
Wechseln Sie im Dialogfeld "Einstellungen" zu Integration -> Applications
. Ersetzen Sie den zuvor im PuTTY-Pfad angegebenen Pfad durch den Pfad zu Ihrer neu erstellten echo.cmd
Stapeldatei. Wählen Sie auch die Option:
Remember session password and pass it to PuTTY (SSH)
Klicken Sie auf OK
.
Starten Sie nun PuTTY in WinSCP.
Ihr zuvor gespeichertes Passwort sollte nun auf dem Bildschirm angezeigt werden!
Erstellen Sie eine neue C # -Konsolenanwendung, und geben Sie das folgende Programm ein:
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
foreach (var str in args)
System.Console.WriteLine(str);
System.Console.ReadLine();
}
}
}
Wenn Sie kein C # -Programmierer sind, können Sie mit jeder anderen Sprache, mit der Sie vertraut sind, genauso einfach arbeiten. Der Punkt ist einfach zu drucken, welche Werte als Argument an Ihr Programm übergeben werden. Sie können es sogar mit einem Skript machen, wenn Ihnen das besser bekannt ist.
Kompilieren Sie nun Ihr Programm und greifen Sie auf Ihre Binärdatei (z. B. ConsoleApplication8.exe) zu. Platzieren Sie es an einem geeigneten Ort, z. B. auf Ihrem Desktop.
Wenn Ihr Passwort weiterhin funktioniert, starten Sie WinSCP und stellen Sie eine Verbindung zu Ihrer Site her. Klicken Sie auf Optionen -> Einstellungen
Gehen Sie im Dialogfeld Einstellungen zu Integration -> Anwendungen. Ersetzen Sie den zuvor im PuTTY-Pfad angegebenen Pfad durch den Pfad zu Ihrer neu erstellten Binärdatei. Wählen Sie auch die Option "Sitzungspasswort speichern und an PuTTY (SSH) übergeben".
Klicken Sie auf OK und versuchen Sie dann, PuTTY in WinSCP zu starten.
Ihr zuvor gespeichertes Passwort sollte nun auf Ihrem Bildschirm sichtbar sein.
Ich hatte einen sehr seltsamen Anwendungsfall, ich musste mein Passwort wiederherstellen, aber meine Systemadministratoren hatten meine Umgebung gesperrt, sodass ich keine ausführbaren Dateien ausführen konnte, die nicht auf der Whitelist standen, und das beinhaltete .cmd-Dateien.
Meine Lösung war, stattdessen die Putty-Befehlszeile auf Notepad ++ zu zeigen.
Als es lief sagte es "File -pw" existiert nicht, sollte ich es erstellen, sagst du nein.
Dann heißt es "Datei {das Passwort erscheint hier oben} existiert nicht, sollte ich es erstellen" und nochmal sagst du jetzt, und bam, da war das Passwort im Klartext.
ps
Kennwörter angezeigt, wenn diese in der Befehlszeile angegeben wurden, auch für Unterprozesse, wenn sie einige Zeit ausgeführt werden.)
Sie können ein Tool wie WireShark verwenden, um zu "sehen", was über den Draht läuft. Was ich meine, ist, dass eine Paketerfassungssitzung läuft (in WireShark) und sich dann bei Ihrem FTP-Server anmeldet (unter Verwendung von WinSCP, ohne Verschlüsselung).
Wenn Sie sich die in WireShark registrierte Sitzung ansehen, können Sie auf einfache Weise die "Diskussion" identifizieren (z. B. Filtern nach der Ziel - IP) und anschließend die Meldung "Request: USER blabla" und anschließend "REQUEST: PASS blabla" auf der FTP - Ebene der "Konversation".
Ich bin zu dieser Antwort gekommen, als ich ein etwas anderes Problem untersucht habe. Dies war jedoch hilfreich und ich wollte mitteilen, was ich getan habe.
Mein Problem war, dass ich WinSCP mit Passwörtern verwendete, die unter Windows XP in einer Active Directory-Domäne gespeichert wurden, die sich dann änderte. Mit der neuen Active Directory-Domäne hat sich auch mein Benutzerprofil geändert, sodass in WinSCP keine gespeicherten Anmeldeprofile angezeigt werden.
Um die vorherigen WinSCP-Anmeldeprofile wiederherzustellen, habe ich Folgendes getan.
Startete die regedit
Anwendung und suchte nach Schlüsseln mit dem Namen Martin Prikryl
. Nach mehreren falschen Übereinstimmungen fand ich den Schlüssel mit den scheinbar korrekten Sitzungsdaten.
Anschließend habe ich den Registrierungsschlüssel für die WinSCP-Sitzung mit dem regedit
Befehl export in eine Textdatei exportiert.
Als Nächstes habe ich den exportierten Text in der Textdatei so geändert, dass er HKEY_CURRENT_USER
als Beginn des vollständigen Schlüssels vor dem Softwareteilschlüssel verwendet wird
Bei der nächsten Verwendung habe regedit
ich die Daten importiert, um die Windows-Registrierungsschlüssel zu ändern, die von WinSCP für den aktuellen Benutzer verwendet werden.
Diese Aktionen haben Folgendes bewirkt: (1) die WinSCP-Anmeldesitzungsdaten für das alte Benutzerprofil gefunden, (2) eine Kopie dieser Daten erstellt, (3) den Windows-Registrierungsschlüssel so geändert, dass ein Import mit regedit
dem aktuellen Benutzer geändert werden kann , (4) importierte die Daten, die die WinSCP-Registrierungseinträge für das aktuelle Benutzerprofil änderten.
Nach diesem Vorgang konnte ich mit WinSCP auf meinen Webserver zugreifen.
Es gibt wahrscheinlich ein paar Gründe, warum dies unkompliziert und erfolgreich war. Zuallererst wurde dieser PC nur von einer Person benutzt und nicht geteilt, um die falschen Übereinstimmungen zu reduzieren. Zweitens hatte ich Administratorrechte für den PC. Drittens war dies Windows XP und nicht Windows 7/8.
Zitieren der WinSCP-FAQ Kann ich das in der WinSCP-Sitzung gespeicherte Kennwort wiederherstellen? :
Eine Möglichkeit, Ihr Kennwort wiederherzustellen, besteht darin, die Einstellungen für die Kennwortprotokollierung zu aktivieren. Siehe Protokollieren von Kennwörtern und andere Einstellungen für vertrauliche Informationen . Untersuchen Sie anschließend die Sitzungsprotokolldatei, um das gespeicherte Kennwort zu ermitteln.
. 2017-06-13 07:41:11.313 ---------------------------------------------------------------
. 2017-06-13 07:41:11.313 WinSCP Version 5.9.5 (Build 7441) (OS 10.0.15063 - Windows 10)
. 2017-06-13 07:41:11.313 Configuration: HKCU\Software\Martin Prikryl\WinSCP 2\
. 2017-06-13 07:41:11.313 Log level: Normal, Logging passwords
...
. 2017-06-13 07:41:11.313 ---------------------------------------------------------------
. 2017-06-13 07:41:11.313 Session name: My server (Site)
. 2017-06-13 07:41:11.313 Host name: example.com (Port: 22)
. 2017-06-13 07:41:11.313 User name: martin (Password: mypassword, Key file: No)
Sie können auch eine Generate Session URL / Code- Funktion missbrauchen , um das gespeicherte Passwort abzurufen. Beachten Sie, dass spezielle Symbole im Kennwort möglicherweise maskiert werden. Es ist am wahrscheinlichsten, dass das Kennwort im .NET-Assemblycode intakt ist, in dem nur doppelte Anführungszeichen (in allen unterstützten Sprachen) maskiert werden.
Legen Sie in WinSCP einfach die maximale Protokollstufe fest und stellen Sie eine Verbindung zum Server her. Die Protokolle enthalten ein einfaches Passwort.