禁用Root——会出现哪些问题?

禁用Root——会出现哪些问题?

我有一台 Linux 服务器 (Ubuntu 14),我使用 root 和SSH keys(即没有 root 密码) 访问它。我还创建了一个具有权限的non-root-user(和相应的non-root-user's-password) sudo

我的网络主机建议出于安全原因禁用root,然后sudo在需要时使用。

有两个问题我正在努力解决:

  1. 如果我禁用 root,那么我很确定我将无法使用SSHroot 用户 ( root@ip-address) 进入我的服务器,因此我将使用non-root-usernon-root-user's-password。但这似乎不安全,因为有人可能会在网络上监听并窃取用户名和密码。

  2. 如果我禁用 root,然后使用sudo中的命令non-root-user,服务器将如何验证我是否被允许具有 root 访问权限?它会使用 来SSH keys执行此操作吗?

更新:我一直都认为这是错的。有人刚刚提醒我,当使用 时sudo,系统会要求输入non-root-user's-password,而不是root密码。所以答案很明显。

答案1

禁用 SSH 根登录的目的是要求您输入两个密码才能远程成为根用户 - 一个来自具有 SSH 访问权限的标准用户,然后从该帐户输入根密码。这可以防止攻击者远程猜测根密码 - 他们必须猜测两个密码才能远程获得根权限。

但这似乎并不安全,因为有人可能会监听网络并窃取用户名和密码。

SSH 中的“S”表示安全的- 只要你使用 SSHv2 和强密码(检查你的sshd_config-https://stribika.github.io/2015/01/04/secure-secure-shell.html- 如果担心的话)没有人能嗅到任何东西除非你的密钥已被泄露。

sshd当您使用 - 登录时检查您的密码,sshd此后您执行的命令将不受sshd- 包括sudosu等的检查。

答案2

SSH 代表安全的Shell。密码永远不会以明文形式发送;它使用公钥加密验证您的身份并保护通信安全。适用于root,适用于所有人。

如果您添加non-root-user到适当的访问列表(允许它sudo),然后您就可以使用该帐户完全管理您的服务器了。

相关内容