禁用root ssh登录可提升系统安全,具体做法是修改/etc/ssh/sshd_config中PermitRootLogin为no,重启sshd服务,创建普通用户并赋予sudo权限,推荐启用密钥认证、限制登录用户和认证次数等安全配置,测试新用户登录及sudo权限,防止锁定系统。
在linux系统中,直接使用root账户通过SSH登录存在较大安全风险。攻击者常针对root账户进行暴力破解,因此建议禁用root的SSH直接登录,改用普通用户登录后再切换权限。以下是具体配置方法。
1. 禁用root SSH登录
编辑SSH服务的配置文件/etc/ssh/sshd_config,修改或添加以下行:
PermitRootLogin no
保存后重启SSH服务使配置生效:
对于使用systemd的系统(如centos 7+、ubuntu 16.04+):
sudo systemctl restart sshd
对于旧版本系统(如CentOS 6):
sudo service sshd restart
2. 配置普通用户并赋予sudo权限
为避免无法执行管理任务,应创建一个普通用户并授权sudo权限。
创建新用户(以demo为例):
sudo adduser demo
设置密码:
sudo passwd demo
将用户加入sudo组(debian/Ubuntu):
sudo usermod -aG sudo demo
或加入wheel组(CentOS/RHEL):
sudo usermod -aG wheel demo
3. 其他推荐的安全配置项
在/etc/ssh/sshd_config中还可启用以下设置提升安全性:
- PermitEmptyPasswords no:禁止空密码登录
- PasswordAuthentication no:禁用密码登录,改用SSH密钥(更安全)
- AllowUsers demo:仅允许特定用户通过SSH登录
- Protocol 2:仅使用SSH协议版本2
- MaxAuthTries 3:限制最大认证尝试次数
4. 测试配置并防止锁定
修改前建议保留一个root终端会话,或使用另一个终端测试新用户登录,避免因配置错误导致无法访问系统。
测试新用户能否SSH登录,并能否通过sudo执行管理命令:
sudo whoami(应返回root)
基本上就这些。禁用root登录是SSH安全加固的基本步骤,配合密钥认证和防火墙规则,能显著提升服务器安全性。