首页 / 服务器运维 / 服务器安全再升级!SSH密钥登录与F

服务器安全再升级!SSH密钥登录与Fail2Ban实战教程,告别暴力破解,让你的服务器比VPN还安全!

Roxi
Roxi 加速器 — 稳定·快速·安全
全球节点覆盖,支持所有主流平台,一键连接无需配置。新用户免费试用。
立即体验 →

0:00 大家好!今天我们来搞一个超硬核的服务器安全大改造!

50TB日处理量120ms平均延迟99.99%SLA保障7×24运维监控

What's up guys!各位开发者、运维大佬们,以及所有想让自己的Linux服务器固若金汤的朋友们!我是你们的老朋友eccfy,今天我们不聊别的,直接上干货——给你的服务器进行一次全面武装!尤其是那些还在用密码登录SSH的同学,听好了,今天教你一套组合拳,让你的服务器安全指数飙升,比你找的那些免费VPN还靠谱!

OK so,很多同学是不是还在为服务器被暴力破解而头疼?日志里一堆奇奇怪怪的登录尝试?别慌,今天我手把手教你如何通过SSH密钥登录和Fail2Ban,彻底告别这些烦恼!

1:30 第一招:SSH密钥登录,密码靠边站!

第1周环境搭建第2周核心开发第3周测试优化第4周正式发布

接下来我们直接进入实战环节!首先,我们要做的就是抛弃传统的密码登录,拥抱更安全的SSH密钥!

第一步:生成SSH密钥对。 在你的本地机器上,打开终端,输入这行命令:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

你看,命令很简单,-t rsa 是指定加密算法,-b 4096 是密钥长度,越长越安全!-C 是备注,方便你识别。一路回车,直到生成id_rsa(私钥)和id_rsa.pub(公钥)两个文件。记住,私钥是你的宝贝,千万不能泄露!

第二步:上传公钥到服务器。 我们可以用ssh-copy-id这个方便的工具。假设你的服务器IP是your_server_ip,用户名是your_username:

ssh-copy-id your_username@your_server_ip

它会提示你输入服务器密码,输入一次后,你的公钥就自动部署到服务器的~/.ssh/authorized_keys文件里了!是不是超方便?

第三步:禁用密码登录。 这一步是关键!登录你的服务器,编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

找到PasswordAuthentication yes这一行,把它改成PasswordAuthentication no。然后找到PermitRootLogin,如果不是no,也改成no,防止root用户直接SSH登录,提高安全性。改完之后,记得重启SSH服务:sudo systemctl restart sshd。

现在,你再尝试用密码登录,就会被拒绝了!只有使用你的私钥才能登录。这意味着,即使有人知道你的服务器IP和用户名,没有你的私钥也进不去!这比你去找什么“油管怎么看”的翻墙软件安全多了!

3:45 第二招:Fail2Ban,暴力破解的终结者!

品牌定位清晰视觉体系统一内容矩阵搭建社媒运营规划效果追踪复盘

OK so,有了密钥登录,服务器已经很安全了。但我们还可以更进一步,用Fail2Ban来自动防御暴力破解!

什么是Fail2Ban? 简单来说,它就像一个智能门卫,会实时监控你的系统日志,一旦发现某个IP地址在短时间内多次尝试登录失败(比如SSH、FTP等),就会自动把这个IP暂时或永久地封禁掉!

安装Fail2Ban: 在Debian/Ubuntu上:sudo apt update && sudo apt install fail2ban。在CentOS/RHEL上:sudo yum install epel-release && sudo yum install fail2ban。

配置Fail2Ban: 安装完成后,我们可以复制默认配置文件:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

然后编辑jail.local:

sudo nano /etc/fail2ban/jail.local

主要修改几个参数:

  • bantime:封禁时长,默认是10分钟(600秒)。你可以改成更长,比如1h(1小时)或1d(1天)。
  • findtime:在多长时间内进行多次失败尝试才会被封禁。
  • maxretry:最大尝试次数,默认是5次。

找到[sshd] सेक्शन,确保enabled = true,这样Fail2Ban就会监控SSH登录了。如果你想知道“Fail2Ban怎么用”更多高级配置,比如邮件通知,可以研究一下它的文档,功能非常强大!

修改完后,别忘了重启Fail2Ban服务:sudo systemctl restart fail2ban。

现在,你可以尝试用一个错误的密码登录服务器几次,然后你会发现你的IP被封了!神奇不神奇?[笑] 你可以通过sudo fail2ban-client status sshd来查看被封禁的IP列表。

5:00 总结与呼吁:一键三连,让你的服务器安全到飞起!

OK,各位兄弟姐妹们,今天的Linux服务器安全加固与SSH配置教程就到这里了!我们通过SSH密钥登录彻底抛弃了密码,又用Fail2Ban给服务器加了一道智能防火墙。这套组合拳打下来,你的服务器安全等级是不是直接飙升?那些想搞破坏的家伙,现在碰壁的概率大大增加了!

记住,安全无小事,尤其是对于开发者和运维人员来说。希望今天的教程能帮到大家!如果你觉得这个视频对你有帮助,别忘了点赞、投币、收藏,一键三连走起来!有什么问题,评论区告诉我!我们下期再见!Peace out!