麒麟服务器ssh安全加固需五步:一、改默认端口为非标端口并重启服务;二、禁用root直接登录;三、启用密钥认证并禁用密码登录;四、配置ip白名单;五、通过pam限制失败次数及锁定时间。

如果您在麒麟服务器版上启用SSH远程管理,但未进行安全加固,则可能面临暴力破解、未授权访问等风险。以下是针对SSH服务进行安全加固与远程管理优化的具体操作步骤:
一、修改默认SSH端口
将SSH服务监听端口从默认的22更改为非标准端口,可有效减少自动化扫描工具的攻击频次,降低被暴力探测的概率。
1、使用root权限编辑SSH主配置文件:sudo vi /etc/ssh/sshd_config
2、找到包含#Port 22的行,取消注释并修改为其他端口号,例如:Port 22222
3、保存退出后,重启SSH服务:sudo systemctl restart sshd
4、确认新端口已监听:sudo ss -tlnp | grep :22222
二、禁用root用户直接SSH登录
禁止root账户通过密码方式远程登录,可防止高权限账户成为暴力破解的首要目标,强制使用普通用户登录后再提权,提升纵深防御能力。
1、编辑SSH配置文件:sudo vi /etc/ssh/sshd_config
2、定位到PermitRootLogin配置项,将其值设为:PermitRootLogin no
3、确保该行未被注释(即开头无#号),保存退出
4、重新加载SSH服务配置:sudo systemctl reload sshd
三、启用密钥认证并禁用密码登录
基于公私钥对的身份验证比密码认证更安全,且可彻底规避密码泄露与暴力破解风险;禁用密码登录后,仅允许持有合法私钥的客户端接入。
1、在客户端生成密钥对(如尚未生成):ssh-keygen -t ed25519 -C "admin@kylin"
2、将公钥上传至麒麟服务器普通用户家目录下的~/.ssh/authorized_keys文件中
3、编辑服务器SSH配置:sudo vi /etc/ssh/sshd_config
4、设置以下三项参数:PubkeyAuthentication yes、PasswordAuthentication no、ChallengeResponseAuthentication no
5、重启服务生效:sudo systemctl restart sshd
四、配置SSH访问白名单
通过限定仅允许特定IP地址或IP段连接SSH服务,可大幅缩小攻击面,尤其适用于固定办公网络或运维跳板机场景。
1、编辑hosts.allow文件:sudo vi /etc/hosts.allow
2、添加允许规则,例如仅允许可信网段访问:sshd: 192.168.10.0/24
3、编辑hosts.deny文件:sudo vi /etc/hosts.deny
4、拒绝所有其他来源:sshd: ALL
5、无需重启服务,规则即时生效
五、限制SSH登录失败次数与锁定时间
通过PAM模块限制连续失败尝试次数,并对触发阈值的IP实施临时封锁,可有效抵御自动化暴力破解行为。
1、安装faillock工具(如未预装):sudo apt install libpam-faillock
2、编辑PAM SSH认证配置:sudo vi /etc/pam.d/sshd
3、在文件开头插入两行:auth [default=bad success=ok user_unknown=ignore] pam_faillock.so preauth silent deny=5 unlock_time=900
4、再插入一行:auth [default=die] pam_faillock.so authfail deny=5 unlock_time=900
5、验证配置语法:sudo pam-auth-update --package










