我有一台 ubuntu 服务器,但忘记了 root 密码。我在任何文档中都找不到密码(我的错)。现在我有另一个用户在 sudo 列表中,但该用户的密码保存在 kitty 中,我也不记得了,我可以用它登录,但当我登录并使用 sudo 执行一些管理命令时,它需要该用户的密码,但我看不到它。问题是我如何才能看到以隐藏字符保存的 kitty 密码??
答案1
它已加密,所以你不能。
但是,您可以通过启动单用户模式来重置 root 密码。在 GRUB 中,single
在启动命令末尾添加该单词,它将允许您设置 root 密码。
如果是远程服务器,那肯定更难,因为单用户模式 = 无网络访问。你需要以某种方式获得一个控制台。
编辑:因为它是一个亚马逊实例,您可以将 EBS 卷附加到不同的实例并手动修改密码文件。
答案2
要恢复您的密码,请保存在猫咪按照这个简单的步骤:
- 将存储密码的会话加载到猫咪
- 转到会话 -> 日志记录 -> 会话日志记录
- 启用以下日志记录SSH 数据包和原始数据
- 取消选中忽略已知密码字段盒子
- 启动会话,等待其登录
- 关上猫咪窗户
- 前往您的猫咪文件夹并打开日志文件
- 找出 ”发送自动密码“块来获取您的纯文本密码。
它看起来是这样的,“你的密码“在密码中存储猫咪:
Event Log: Send automatic password
Outgoing packet #0x7, type 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST)
00000000 00 00 00 04 72 6f 6f 74 00 00 00 0e 73 73 68 2d ....root....ssh-
00000010 63 6f 6e 6e 65 63 74 69 6f 6e 00 00 00 08 70 61 connection....pa
00000020 73 73 77 6f 72 64 00 00 00 00 0c 59 6F 75 72 50 ssword.....YourP
00000030 61 73 73 77 6F 72 64 assword
答案3
虽然从日志中读取纯文本密码对于紧急情况很有用,但它不容易自动化,也不容易处理大量密码,所以我制作了程序来解密/解密 KiTTY 保存的密码:
https://github.com/PetrP/kitty-decryptpassword
用法:
PASSWORD=<password> kitty-decryptpassword.exe <mode> <host> [<termtype>]
例如PASSWORD=b10bpHb0bKT5LArR9P kitty-decryptpassword.exe 0 localhost xterm
结果将是hunter2
。