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

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

准备工作

条件: Windows 环境(不然无法安装 pypiwin32),密码保存在了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
法学民工,铁道爱好者,城市天际线玩家
文章: 17

留下评论