Root 密码包含无法输入的字符

Root 密码包含无法输入的字符

不知道到底发生了什么。我将 root 密码更改为包含奇怪字符的长密码,并反复检查是否可以使用该密码登录,并且从那时起就一直可以登录。到目前为止

我认为错误字符是 '。我如何在 Putty 中输入它?当我在 Putty 中粘贴密码时,该字符和其他一些字符被删除/移动。我在窗口>翻译下设置了 UTF-8。

更新: locale返回以下内容。

LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

我(错误地)认为它使用的是 UTF-8。

有没有办法让 su 从文件中读取密码?

更新 2:我使用 Notepad++ 创建了两个文件;ansi.txtutf8.txt。均包含字符串abc’def

cat ansi.txt打印abcdef
cat utf8.txt打印abcâdef

答案1

如果“特殊”字符实际上是重音字符(如 ' 或 ```),我可以想象您当前的输入法会将此字符(例如,后面跟着元音)转换为重音字符。例如,在德语键盘上输入 ' 和 e 在许多情况下会变成 é,类似地,输入 ```` 和 u 会变成 ù。您可以尝试在“特殊”字符后直接输入一个空格来阻止这种转换。不能保证,只是猜测。(我希望这个答案会出现在预览中,就像我现在看到的那样。;-))

答案2

尝试

#!/bin/sh
su - << _EOF_
password goes here
_EOF_

将其放入文件 tmpPassFix 然后运行

chmod +x tmpPassFix
./tmpPassFix

未经测试,可能有效也可能无效。这是假设您可以将密码放入上面的“tmpPassFix”文件中。我不太了解编码,但如果您可以在 Windows 中获取它,您可以执行上述操作,然后使用 winscp 将其覆盖,前提是脚本有效。

答案3

Rackspace 实际上有一个重置密码按钮。转到托管>云服务器> [您的服务器] 并单击救命按钮。

请注意,它会重新启动服务器,因此请打开控制台并监视系统是否再次正常上线。

相关内容