根密码包含无法input的字符

不知道真的发生了什么。 我将root密码更改为包含奇怪字符的长密码,并且三重检查了我可以使用它login,并且一直保持此状态。 到现在为止

我认为糟糕的性格是一个'。 我如何在腻子中input? 当我在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 ++创build了两个文件; ansi.txtutf8.txt 。 都包含stringabc'def

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

如果“特殊”字符实际上是一个重音字符(比如'或“`),我可以想象你当前的input方法将这个字符转换成一个重音字符。 在德语键盘上input'和e,在很多情况下会导致é,类似于“`和u导致ù。 您可以尝试在“特殊”字符后面直接input空格,以防止这种转换。 没有保证,只是一个猜测。 (我希望这个答案会出现,因为我现在在预览中看到它;-))

尝试

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

把它放在一个文件tmpPassFix然后运行

 chmod +x tmpPassFix ./tmpPassFix 

未经testing可能会或可能不会工作。 假设你可以在上面的“tmpPassFix”文件中获得密码。 我对编码知之甚less,但是如果你能在windows中得到它,你可以做上面的事情,然后winscp,提供脚本。

Rackspace实际上有一个重置密码button。 转到主持>云服务器> [您的服务器],然后单击救生button。

要知道,它重新启动服务器,所以打开控制台,并监视系统再次联机罚款。