我通过 ssh 密钥连接到机器并拥有 sudo 权限。如何检查我知道的用户名密码是否正确?
/etc/shadow
不包含我。
还可以做什么?
答案1
调用passwd
.您应该被询问您当前的密码;提供您知道的密码。
错误的密码将导致命令立即失败。正确的密码将允许您设置新密码。通过键入两次来设置新密码,或者故意键入两个不同的字符串以保持密码不变。
是否su "$USER"
要求输入密码?可能不会但如果是这样,请提供您知道的密码。
错误的密码将导致命令失败并显示Authentication failure
。正确的密码将为您提供一个 shell(使用 退出exit
)。
答案2
您可能正在使用目录服务而不是本地帐户。在这种情况下,您将找不到 中的条目/etc/shadow
。
检查passwd
条目/etc/nsswitch.conf
。
可以使用 SSH 跳过密钥身份验证
ssh -o "PubkeyAuthentication=no" <host>
这样您就可以尝试使用您的密码登录*
*) 如果其他身份验证机制没有到位。否则,您可以使用-o "PreferredAuthentications=password"
强制密码身份验证