如何为具有root权限的用户启用ssh?

如何为具有root权限的用户启用ssh?

我已添加用户测试具有root权限。在我的sshd_config档案中我保留了允许root登录作为,阻止 root 的 ssh。我无法为 root 执行 ssh,这工作正常,但问题是我无法登录测试用户也可以通过 ssh。

我该如何解决这个问题?

/etc/passwd摘录:

root:x:0:0:root:/root:/bin/sh

test:x:0:0::/home/test:/usr/sbin/myshell

答案1

您可以通过创建普通用户登录,然后使用本地升级工具(susudodoaspkexec...)获取root权限来解决此问题。

OpenSSH(像许多其他工具一样)不会根据字符串“root”来限制 root,而是根据特权 UID 0 来限制 root。由于您已将新用户的 UID 设置为零,因此在 root 无法登录的情况下,它将无法登录。

举个例子,userauth_finish()auth2.c在 OpenSSH 源代码中:

    /* Special handling for root */
    if (authenticated && authctxt->pw->pw_uid == 0 &&
        !auth_root_allowed(ssh, method))
            authenticated = 0;

相关内容