【发布时间】:2014-11-18 17:32:22
【问题描述】:
我有一个根服务器,我在其中禁用了通过用户 root 登录并在 sudoer 列表中创建了另一个用户。所以当我想在服务器上工作时:
ssh myusername@IP_ADDRESS
在服务器上:
sudo su
输入我的密码以获得 root 权限。这工作正常 6 个月了。今天我在做sudo su:时收到这个消息
sudo: no tty present and no askpass program specified
黑客正在发生什么?这个错误是什么意思,为什么我会得到它?没有 root 权限,我不能在服务器上做这么多。知道如何解决这个问题吗?
【问题讨论】:
-
尝试使用 ssh -t username@host 登录,请不要使用“sudo su”,为了这个目的可以切换到 sudo。请改用 sudo -s,如果您想输入 root 密码,请使用 su。
-
@superjedi 也不起作用。即使使用root密码。我想我今晚必须重置服务器,因为我不知道它为什么不工作。
-
当你登录到远程服务器时(并且在运行 sudo 之前),你真的有一个 tty 吗?运行“tty”应该会打印出你的 tty 的名称。之后,我会检查您的 tty 设备和“/dev/tty”上的权限,看看它们是否搞砸了。
-
@Kenster 我得到
crw--w---- 1 username tty 136, 2 Sep 24 2014 /dev/pts/2 -
sudo 实际上会打开“/dev/tty”进行读写,如果失败则打印该错误。检查那个烫发。