OpenSSH 拒绝或限制用户和组的访问
SSH 限制哪些用户可以登录服务器
O penSSH 有两个指令用于允许和拒绝 ssh 用户访问。您可以使用以下配置来限制哪些用户可以登录到您的 Linux 或 Unix 或 BSD 基础服务器。
限制哪些用户可以登录
语法是:
使用 DenyUsers 阻止用户登录。您可以使用通配符以及 user1@example.com(不允许 user1 从 example.com 主机登录)模式。
DenyUsers user1 user2 user3
DenyGroups group1 group2
组名列表,如果用户属于主要组或补充组,则拒绝登录访问。您可以使用通配符。请注意,您不能使用数字组或用户名 ID。如果不使用这些指令,则默认允许所有人。
明确允许选定的用户或组登录
语法是:
该指令与 DenyUsers 指令相反,即只允许用户 1 和用户 2 登录到服务器。
AllowUsers user1 user2
AllowGroups group1 group2
该指令与 DenyGroups 指令相反,即,只允许 group1 和 group2 用户的成员登录服务器。
示例
为了帮助保护基于 OpenSSH 的服务器,您可以明确允许用户 sai 和 vivek 通过 SSH 登录。以超级用户身份编辑文件 /etc/ssh/sshd_config:
sudo vi /etc/ssh/sshd_config
添加/编辑/附加以下行:
AllowUsers sai vivek
保存并关闭文件。接下来,重新启动 SSH 守护程序服务:
## Ubuntu/debian user ## sudo service ssh restart # only for systemd based Ubuntu/Debian 8.x+ users # sudo systemctl restart ssh #### RHEL/CentOS/Fedora Linux user type #### sudo service sshd restart # only for systemd based RHEL/CentOS v7+ users # sudo systemctl restart sshd
限制 root 用户
出于安全原因,您应该始终阻止 Linux 或类 Unix 系统上的 root 用户和组的访问。首先,确保至少有一个用户被允许在服务器上使用“su -”或“sudo”命令。打开 /etc/ssh/sshd_config 文件,输入:
# vi /etc/ssh/sshd_config
$ sudo vi /etc/ssh/sshd_config
附加以下名称(指令):
DenyUsers root DenyGroups root
还要确保在 sshd_config 中设置以下内容:
PermitRootLogin no
保存文件并重新启动 sshd。这是一个安全设置,您可以使用上述四个指令限制允许通过 SSH 访问系统的用户。
参见
- 20 个 OpenSSH 服务器最佳安全实践
- 请注意,如果您想拒绝或允许大量用户访问,请考虑 SSH PAM 配置。这对于 ISP 和 Web 托管服务提供商来说是理想的选择。有关更多信息,请参阅允许您使用文本文件存储用户名的 PAM 配置。
- 20 个 OpenSSH 服务器最佳安全实践
- 如何在 Linux / Unix 系统上设置 SSH 密钥
- Linux / Unix 用户的 OpenSSH 配置文件示例
- 审计 Linux/Unix 上的 SSH 服务器和客户端配置
- 如何在 FreeBSD 上安装和升级 OpenSSH 服务器
- Ubuntu Linux 安装 OpenSSH 服务器
- 在 Alpine Linux 上安装 OpenSSH 服务器(包括 Docker)
- Debian Linux 安装 OpenSSH SSHD 服务器
- 配置 OpenSSH 以监听 IPv6 地址
- OpenSSH 服务器连接在几分钟不活动后断开
- 在 OpenSSH 身份验证之前显示横幅/消息
- 强制 OpenSSH(sshd)仅监听选定的多个 IP 地址
- OpenSSH 使用 ssh-keygen 命令更改密码
- 重复使用 SSH 连接以通过多路复用加速远程登录过程
- 重新启动 SSHD 服务器之前检查语法错误
- 更改 Linux 或 Unix 服务器上的 ssh 端口
- OpenSSH 拒绝或限制用户和组的访问
- Linux OpenSSH 服务器拒绝 root 用户访问/登录
- 在 Linux 上禁用 ssh 密码登录以提高安全性
- SSH ProxyCommand 示例:通过一台主机到达服务器
- OpenSSH 多路复用器可加速 OpenSSH 连接
- 在远程 Linux / UNIX 服务器中安装 / 附加 SSH 密钥 Authorized_keys
- 使用 ssh-copy-id 与监听不同端口的 OpenSSH 服务器配合使用