储存在 XShell 7 中SSH密码忘记后的提取方法

前几天,笔者就遇到了一个不大不小的麻烦,那就是把家里NAS的密码重置成了一个复杂的强密码,结果忘记保存到密码管理软件里,只在XShell里保存了一份,别的地方都找不到。最后好在有惊无险,通过解密XShell配置文件的方法曲线救国,成功找回密码。

下面分享一下解决办法:

准备工作

条件:

  • Windows 环境
  • 主机SSH的密码保存在了XShell中
  • XShell版本为 7或6(6以下的自行百度)
  • XShell设置了主控密码并且记得,或者XShell没有设置主控密码
  • 配置好 Python3

下面开始——

  • 使用管理员命令行输入:
pip install pypiwin32
pip install pycryptodome
  • (设置过 XShell 主控密码的可以跳过)打开 XShell 7,点击文件-导出,按提示设置主控密码并记住(例如:123456
  • 关闭 XShell 7,在以下地址寻找目标服务器文件

你的用户名\Documents\NetSarang Computer\7\Xshell\Sessions

  • 记事本打开 [ 服务器名 ].session 提取加密后密码(即“password=”后的一串乱码)

下载解密用文件并解密

下载地址:https://github.com/rickylsr/XShell-password-decryptor/archive/refs/heads/master.zip

  • 解压 master.zip
  • 打开解压出的 Python3 文件夹,按住 shift 键的同时在文件夹空白处按右键,点击在此处打开命令行窗口
  • 输入以下命令
python XShellCryptoHelper.py -d -key [ 主控密码 ] [ 加密后密码 ]

例如,主控密码为 123456,加密后密码为 654321,则应该输入:
python XShellCryptoHelper.py -d -key 123456 654321
  • 输出的字符串即为服务器密码
Ricky Lee
Ricky Lee

法学民工,铁道爱好者,城市天际线玩家

文章: 25

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注