在CentOS上设置SSH权限,主要涉及以下几个方面:
-
用户权限:
- 确保只有授权的用户可以访问SSH。可以通过编辑
/etc/ssh/sshd_config
文件来配置允许登录的用户。 - 使用
AllowUsers
指令指定允许登录的用户名列表。例如:AllowUsers user1 user2 user3
- 重启SSH服务以应用更改:
sudo systemctl restart sshd
- 确保只有授权的用户可以访问SSH。可以通过编辑
-
组权限:
- 可以通过将用户添加到特定的组来管理权限。例如,创建一个名为
sshusers
的组,并将需要SSH访问的用户添加到该组:sudo groupadd sshusers sudo usermod -aG sshusers user1 sudo usermod -aG sshusers user2
- 在
/etc/ssh/sshd_config
中,可以使用AllowGroups
指令来限制特定组的用户访问SSH:AllowGroups sshusers
- 可以通过将用户添加到特定的组来管理权限。例如,创建一个名为
-
IP地址限制:
- 可以通过
sshd_config
文件中的DenyUsers
和DenyGroups
指令来限制特定用户或组的访问。 - 也可以使用
Match
指令来根据IP地址或其他条件进行更细粒度的控制。例如,只允许特定IP地址段的设备访问SSH:Match Address 192.168.1.0/24 AllowUsers user1 user2
- 可以通过
-
密码策略:
- 可以通过
/etc/pam.d/system-auth
和/etc/pam.d/password-auth
文件来设置强密码策略。例如,要求密码至少包含8个字符,包括大写字母、小写字母、数字和特殊字符。
- 可以通过
-
SSH密钥认证:
- 鼓励使用SSH密钥认证而不是密码认证,以提高安全性。可以在客户端生成SSH密钥对,并将公钥添加到服务器的
~/.ssh/authorized_keys
文件中。 - 在
sshd_config
中启用密钥认证:PubkeyAuthentication yes
- 鼓励使用SSH密钥认证而不是密码认证,以提高安全性。可以在客户端生成SSH密钥对,并将公钥添加到服务器的
-
防火墙设置:
- 确保防火墙允许SSH端口(默认是22)的流量。可以使用
firewall-cmd
命令来配置防火墙规则:sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
- 确保防火墙允许SSH端口(默认是22)的流量。可以使用
-
SELinux设置:
- 如果启用了SELinux,可能需要调整相关的策略以允许SSH访问。可以使用
setsebool
命令来修改SELinux布尔值。例如,允许SSH连接:sudo setsebool -P ssh_sysadm_login on
- 如果启用了SELinux,可能需要调整相关的策略以允许SSH访问。可以使用
通过以上步骤,可以有效地管理和设置CentOS系统上的SSH权限,确保系统的安全性和可访问性。