读取XShell 保存密码

如果您使用 XShell 通过 SSH 连接到远程服务器,您可能经常遇到需要知道 XShell 中保存的密码的情况。感谢d2x3,这里有一个简洁的 Python 脚本可以帮您完成这项工作。

一、获取sid及用户账号名称

首先,您需要获取 SID 和您登录的用户帐户。打开命令提示符并键入以下命令。

WMIC 用户帐户获取名称、sid

输出

管理员 S-1–5–21–848001404–2593868271–2784678393–300
默认帐户 S-1–5–21–848001404–2593868271–2784678393–301

现在您知道登录的用户帐户(管理员)和分配给该用户帐户的 SID。

2.获取XShell 会话的保存位置

此外,您需要知道 XShell 会话的保存位置。如果您在安装 XShell 时使用了默认设置,则应该与下面的设置类似。

C:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions

3.使用Xdecrypt

前往此GitHub 链接下载仓库(
https://github.com/dzxs/Xdecrypt)。解压下载的目录并进入目录。如果您使用的是 Windows,请从该位置打开命令提示符或Gitbash 。

python Xdecrypt.py -s [<用户帐户>+<sid>] -p <XShell_Session_location>

4.获取密码

python Xdecrypt.py -s AdministratorS-1–5–21–848001404–2593868271–2784678393–300 -p “C:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions”

提示:用户帐户和 sid 需要连接起来。

如果您已经安装了所有软件包,您应该会看到以下输出。

C:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions\10.3.13.32 — server1.xsh
主机:10.3.13.32:22
用户名:test_user
密码:2019@abcC:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions\10.3.13.33 — server2.xsh
主机:10.3.13.33:22
用户名:test_user
密码:2019@abcC:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions\10.3.13.34 — server3.xsh
主机:10.3.13.34:22
用户名:test_user
密码:2019@abc

5.其他错误情况

  • 没有名为“Crypto”的模块
$ python Xdecrypt.py 
Traceback(最近一次调用最后一次):
文件“Xdecrypt.py”,第 8 行,在 <module> 中,
来自 Crypto.Hash 导入 SHA256 
ModuleNotFoundError:没有名为“Crypto”的模块

然后,您需要执行以下操作。

pip安装pycryptodome
  • 引发 MissingSectionHeaderError(fpname、lineno、line)
$ python Xdecrypt.py 
Traceback(最近一次调用最后一次):
文件“Xdecrypt.py”,第 42 行,在 <module> 
cfg.read(filepath)
文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\configparser.py”,第 696 行,在 read 
self._read(fp, filename) 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\configparser.py”,第 1079 行,在 _read 中
引发 MissingSectionHeaderError(fpname, lineno, line) 
configparser.MissingSectionHeaderError:文件不包含节标题。
文件:'C:\\Users\\Administrator\\Documents\\NetSarang Computer\\6\\Xshell\\Sessions\\10.3.13.32 — server1.xsh',行:1' 
[\x00C\x00O\x00N\x00N\x00E\x00C\x00T\x00I\x00O\x00N\x00:\x00P\x00R\x00O\x00X\x00Y\x00]\x00\n'

如果遇到此错误,请打开 Xdecrypt.py python 文件并转到下面的行。

cfg.read(文件路径)

将其更改为,

cfg.read(文件路径,编码=“utf-16”)

您可能需要根据笔记本电脑的配置更改编码格式(utf-8)。这通常可以正常工作。

  • 解密后的密码为“无”
C:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions\10.3.13.32 — server1.xsh
主机:10.3.13.32:22
用户名:test_user
密码:无

当传递给“-s”的参数错误时,会发生此错误。请确保笔记本电脑用户帐户名和sid之间没有空格。

python Xdecrypt.py -s AdministratorS-1–5–21–848001404–2593868271–2784678393–300 -p “C:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions”
原文链接:,转发请注明来源!