WinSCP在哪里存储站点的密码?


17

WinSCP在哪里存储站点的信息或密码?我在“文档和设置”下找不到它...


我知道这种解决方案对于超级用户来说太简单了;)但是,如果您不想弄脏手或者只需要尽快查看密码,imho的不错选择是使用smartftp的其他工具密码恢复。我不想做广告或其他什么,但是对我来说,它确实是有用的工具。顺便说一句,这里是快速学习如何查看那些密码:digitalette.com/web/recover-lost-ftp-passwords-winscp希望我能帮上忙
flasherr 2014年

Answers:


9

配置文件存储在Windows注册表中,或者,如果您使用的是便携式版本,则存储在INI文件中。(请参阅文档。)注册表位置为:

HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2

您始终可以通过Export在首选项对话框中按来将设置导出到INI文件。

请注意,您的密码不是以文本形式存储的,而是经过编码的。尽管很难解密,但并非不可能。


4
在WinSCP 5.2.x和更高版本中,导出功能已移至“ 工具”> “登录时导出/备份配置 ”对话框。
2013年

20

试试这个方法。

登录到您保存的会话

进入会议菜单

点击生成URL

只检查用户名和密码选项(如果您需要当前目录路径,也请单击此选项)

您有多个选项,URL /脚本/.Net程序集,选择所需的。

单击复制到剪贴板。

它将包含用户名和密码。

而已。


2
救生员,我有将近100个使用未知(保存)密码的帐户。这对我有用。
Andy Gee

2
这是最简单的答案
Gajotres,2016年

1
如果您的psw包含特殊字符,请确保进行url解码
KuN

9

这是Cesar's最佳答案的简化版本,并假定您的密码仍可在SCP中使用。

创建一个名为的批处理文件echo.cmd,其中包含以下内容:

echo %*
pause

将其放在合适的位置,例如桌面上。

启动WinSCP并连接到您的站点。点击Options -> Preferences

WinSCP首选项

在“首选项”对话框中,转到Integration -> Applications。将PuTTY路径中以前的内容替换为新创建的echo.cmd批处理文件的路径。同时选择以下选项:

Remember session password and pass it to PuTTY (SSH)

WinSCP腻子首选项

点击OK

现在从WinSCP中启动PuTTY。

您以前存储的密码现在应该显示在屏幕上!


6

创建一个新的C#控制台应用程序,然后键入以下程序:

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (var str in args)
                System.Console.WriteLine(str);
            System.Console.ReadLine();
        }
    }
}

如果您不是C#程序员,则可以使用您可能熟悉的任何其他语言轻松进行操作。重点仅仅是打印任何作为参数传递给程序的值。如果您更熟悉脚本,也可以使用脚本来完成。

现在,编译您的程序,并获取您的二进制文件(例如ConsoleApplication8.exe)。将其放在合适的位置,例如桌面上。

现在,如果您的密码仍然有效,请启动WinSCP并连接到您的站点。单击选项->首选项

在此处输入图片说明

在“首选项”对话框中,转到“集成”->“应用程序”。将PuTTY路径中以前的内容替换为新创建的二进制文件的路径。还选择选项“记住会话密码并将其传递给PuTTY(SSH)”。

在此处输入图片说明

单击“确定”,然后尝试从WinSCP中启动PuTTY。

您以前存储的密码现在应该在屏幕上可见。


2
那真是太聪明了!
Paul Lammertsma 2014年

6

我有一个非常奇怪的用例,我需要恢复密码,但是我的系统管理员已锁定我的环境,因此我无法运行任何未列入白名单的可执行文件,并且其中包括.cmd文件。

我的解决方案是将Putty命令行指向Notepad ++。

当它运行时,它说“ File -pw”不存在,如果我创建它,您说不。

然后,它说“文件{密码应该在这里显示}不存在,我应该创建它吗”,然后再次说,Bam,密码是明文形式的。


1
好招 我想知道是否也可以在Windows Task Manager中使命令行参数可见?(在Unix中,ps如果在命令行中指定了密码,并且子进程可以继续运行一段时间,则运行时将显示密码。)
Arjan 2015年

2

您可以使用WireShark之​​类的工具来“查看”在线内容。我的意思是要运行一个数据包捕获会话(在WireShark中),然后登录到您的FTP服务器(使用WinSCP,不加密)。

然后,通过查看WireShark中的已注册会话,可以轻松地识别“讨论”(例如,按目标IP进行过滤),然后在FTP级别的FTP级别上识别Request:USER blabla,然后REQUEST:PASS blabla。 “会话”。


2

我在研究一个稍有不同的问题时来到了这个答案,但这很有帮助,我想分享自己的所作所为。

我的问题是我使用WinSCP,并将密码保存在Windows XP下的Active Directory域中,然后更改了密码。使用新的Active Directory域,我的用户配置文件也更改了,导致WinSCP显示没有保存的登录配置文件。

为了恢复以前的WinSCP登录配置文件,我执行了以下操作。

启动该regedit应用程序,并搜索名称为的任何键Martin Prikryl。在几次错误匹配之后,我找到了看起来正确的会话数据的密钥。

然后,我使用regeditexport命令将WinSCP Session注册表项导出到文本文件中。

接下来,我修改了文本文件中的导出文本,以便将其用作HKEY_CURRENT_USERSoftware子键前面的完整键的开头。

接下来使用regedit,我导入了数据以修改WinSCP为当前用户使用的Windows注册表项。

这些操作执行以下操作:(1)找到了旧用户配置文件的WinSCP登录会话数据,(2)制作了该数据的副本,(3)修改了Windows注册表项以允许导入regedit以修改当前用户, (4)导入了用于修改当前用户配置文件的WinSCP注册表项的数据。

完成此过程后,我可以使用WinSCP访问我的Web服务器。

这很简单且可行的原因可能有两个。首先,这台PC仅由一个人使用,因此不会共享,以减少错误匹配。其次,我对PC拥有管理员特权。第三,这是Windows XP,而不是Windows 7/8。


1

引用WinSCP常见问题解答我可以恢复WinSCP会话中存储的密码吗?

一种恢复密码的方法是启用首选项中的密码登录。请参阅记录密码和其他敏感信息首选项。然后检查会话日志文件以查找存储的密码。

 . 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)

您还可以滥用“ 生成会话URL /代码”功能来检索保存的密码。请注意,密码中的特殊符号可能会转义。您最有可能在.NET汇编代码中看到完整的密码,其中仅对双引号进行了转义(所有受支持的语言)。

在此处输入图片说明


WinSCP常见问题解答中的建议是我的解决方案。我让客户更改了FTP服务器的IP并重新使用了原始密码。在此发布的许多其他解决方案都需要您首先建立连接,在我的情况下这是不可能的。我暂时启用了敏感数据的日志记录,尝试连接到旧IP,使其失败,并且尝试中使用的密码出现在日志中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.