禁用 Ubuntu 的 SSH 密码登录

use*_*305 5 ssh security root remote 14.04

A 有一个远程服务器,我想禁用 root 和其他用户的密码远程登录。我在互联网上浏览了一些关于如何做到这一点的文章,并且我有以下要做/改变的事情列表:

  1. 使用 SSH 密钥为所有用户创建私钥身份验证(我已经这样做了)

  2. 在 中进行以下设置sshd_config

    • PermitRootLogin without-password

    • ChallengeResponseAuthentication no

    • PasswordAuthentication no

    • UsePAM no

    • AllowUsers root otheruser

  3. 重新启动ssh使用sudo service ssh reload

但是,我不确定要对文件进行哪些更改sshd_config,并且我不想被锁定在远程服务器之外。

  1. 如果我希望能够仅使用 SSH 密钥以 root 身份和其他用户身份登录,我需要进行哪些更改?

  2. 如果我想完全阻止远程 root 登录,我需要进行哪些更改(与使用 SSH 密钥进行远程 root 登录相比,它安全多少)?

  3. 如果我通过更改 sshd_config 文件来完全阻止远程 root 登录,那么如果我将来想以 ROOT 身​​份登录,我将如何才能登录?

请尽可能明确地回答这些问题,并请原谅我缺乏尝试,因为我完全害怕被锁定在我自己的远程服务器之外。

Jak*_*uje 4

在 sshd_config 文件中设置“UsePAM no”

您不想关闭 PAM。

  1. 如果我希望能够仅使用 SSH 密钥以 root 和其他用户身份登录,我需要进行哪些更改?

为了实现这一点,这些选项是相关的:

PermitRootLogin without-password
ChallengeResponseAuthentication no
PasswordAuthentication no
AllowUsers root otheruser
PubkeyAuthentication yes     # missing in your list, but should be on by default)
Run Code Online (Sandbox Code Playgroud)
  1. 如果我想完全阻止远程 root 登录,我需要进行哪些更改(与使用 SSH 密钥进行远程 root 登录相比,它安全多少)?

设置PermitRootLogin noAllowUsers otheruser

  1. 如果我通过更改 sshd_config 文件来完全阻止远程 root 登录,那么如果我将来想以 ROOT 身​​份登录,我将如何才能登录?

您将使用非 root 用户登录并使用sudo编辑配置文件并重新启动sshd