宝塔面板服务器SSH安全加固

2025-10-28 76
宝塔面板

类型:服务器管理面板

简介:基于Linux和Windows系统的网页控制面板,主要用于服务器管理、网站建设与运维

购买服务器后第一步不是安装宝塔面板,而是先写修改云厂商提供的root初始密码。很多人以为系统自动生成的随机密码够安全,但实际上这类临时密码可能在云平台控制台显示、邮件发送等环节存在泄露风险。接下来站长百科就来详细分享一期宝塔面板服务器SSH安全加固的操作方法。

第一步、修改root初始密码

拿到服务器后首要任务就是替换云厂商给的root初始密码。登录服务器后,在终端输入以下命令:​

passwd​

系统会提示你输入两次新密码,按要求操作即可:​

Changing password for user root.
New password: (输入新密码)
Retype new password: (再输一次确认)
passwd: all authentication tokens updated successfully.(最后看到这个就成功了)

注意:

  • 密码长度至少16位,且要包含大写字母、小写字母、数字和特殊字符;​
  • 不建议使用“123456”、“admin”、“Aa@123456”这类简单组合;​
  • 密码建议存在专业密码管理器里,不要记在笔记本或手机截图中,避免二次泄露;​
  • 不知道怎么编密码?用下面的命令能自动生成16位强密码:​

​< /dev/urandom tr -dc ‘A-Za-z0-9!@#$%^&*()_+=-‘ | head -c 16; echo

第二步、用SSH密钥登录

改完密码还不够,建议进一步启用SSH密钥登录,这是比密码更安全的方式。​可以直接在宝塔面板里设置;如果暂时没装面板,也可以通过命令行操作。以下方式二选一即可:

方式一:通过宝塔面板设置

登录宝塔面板,在左侧菜单栏找到“安全”,点击进入“SSH管理”;​

宝塔面板服务器SSH安全加固

找到“SSH密码登录”选项,点击关闭;再开启“SSH密钥登录”功能;​

宝塔面板服务器SSH安全加固

开启后,点击“下载SSH密钥”,将密钥文件保存到自己的电脑。后续登录服务器时,用保存的SSH密钥即可,无需再输入密码。​

宝塔面板服务器SSH安全加固

方式二:通过命令行设置

先在自己的电脑生成SSH密钥,打开本地终端输入:​

​ssh-keygen -t ed25519 -C “你的邮箱”

​生成密钥后,把公钥复制到服务器,输入:​

​ssh-copy-id root@你的服务器IP

复制完成后,登录服务器,编辑SSH配置文件:​

​vim /etc/ssh/sshd_config

在配置文件中找到以下两行,修改内容(如果行首有#注释,先删除#):​

PermitRootLogin prohibit-password
PasswordAuthentication no

按Esc键,输入:wq保存并退出编辑;然后重启SSH服务,让配置生效:​

systemctl restart sshd

重启完成进行测试,测试是否能使用密码登陆(预期不能)以及是否能正常使用密钥登陆。

第三步、安装fail2ban

就算用了密钥,也可能遇到黑客尝试暴力破解,这时就需要fail2ban工具,连续输错密码就会自动封禁IP。​更多详情参考:《宝塔面板Fail2ban插件》。

同样两种设置方式,按需选择:​

方式一:通过宝塔面板设置​

登录宝塔面板,进入“软件商店”,在搜索框输入“Fail2ban”,找到后点击“安装”;​

宝塔面板服务器SSH安全加固

安装完成后,点击“设置”,首次使用需要手动点击“启动服务”;​

宝塔面板服务器SSH安全加固

服务启动后,点击“服务保护”,再点击“创建”,选择“SSH防爆破”;​

宝塔面板服务器SSH安全加固

配置参数:“最大重试次数”默认是30,建议改成5(输错5次就封禁,更安全);“SSH端口”默认是22,如果之前改过SSH端口,这里要填修改后的端口;​

点击“保存”,fail2ban就会自动监控SSH登录。​

宝塔面板服务器SSH安全加固

方式二:通过命令行设置​

根据自己的服务器系统,选择对应的命令安装fail2ban:​

Debian/Ubuntu系统:​

apt install fail2ban -y

CentOS系统(需要先启用EPEL源):​

​yum install fail2ban -y

安装完成后,创建fail2ban配置文件:​

vim /etc/fail2ban/jail.d/sshd.local

在配置文件中粘贴以下内容,设置SSH防爆破规则:​

[sshd]
enabled = true
maxretry = 5
bantime = 3600

保存退出后,重启fail2ban服务:​

​systemctl restart fail2ban

第四步、防火墙收口

服务器上的端口开得越多,风险越高。建议只开放必须用的端口,其他全部关闭。​

常用必要端口:22(SSH,若改了端口就填新端口)、80(HTTP)、443(HTTPS)、宝塔面板端口(比如8888,具体看自己的面板设置);​

设置方式:​

若用宝塔面板,直接进入“安全”中的“防火墙”,勾选需要开放的端口,其他端口保持关闭;​

宝塔面板服务器SSH安全加固

也可以在云厂商控制台的“安全组”中设置,原理一样。只允许必要端口的访问,拒绝所有无关端口。​

宝塔面板服务器SSH安全加固

不用SSH或面板时,甚至可以暂时关闭22和面板端口,只保留80/443(业务端口),进一步减少被攻击的可能。​

第五步:定期排查

安全不是一劳永逸的,要定期检查服务器状态,发现异常及时处理。​

查看最近登录记录:在SSH或宝塔面板的终端中输入以下命令,查看最近20条登录记录,看看有没有陌生IP:​

last -a | head -n 20

宝塔面板服务器SSH安全加固

检查计划任务:​

宝塔面板服务器SSH安全加固

如果发现陌生IP登录或奇怪的计划任务,先给服务器做快照备份,再删除异常脚本,必要时联系云厂商或技术人员协助排查。​

第六步:面板加固

SSH安全了,宝塔面板本身也要加固。建议开启“BasicAuth认证”,相当于在面板登录页前再加一道“暗门”,双重防护更安全。​

操作步骤:​

登录宝塔面板,在左侧菜单栏找到“设置”,点击进入“安全设置”;​

宝塔面板服务器SSH安全加固

找到“BasicAuth认证”选项,点击“开启”,仔细阅读开启后的说明;​

宝塔面板服务器SSH安全加固

设置BasicAuth的用户名和密码;​

宝塔面板服务器SSH安全加固

保存后,下次访问宝塔面板时,浏览器会先弹出BasicAuth的登录框。​

宝塔面板服务器SSH安全加固

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。