Linux服务器安全加固:SSH密钥登录、Fail2ban防爆破,告别“油管怎么看”的卡顿!
兄弟们姐妹们好啊!我是你们的极客老铁,今天咱们要来聊点硬核的!大家都知道,现在服务器安全那可是头等大事,特别是我们在外面寻找资源,比如“油管怎么看”这类的内容时,如果服务器不安全,那可就麻烦大了!所以,今天我就来手把手教大家,怎么把你的Linux服务器武装到牙齿!OK,so,废话不多说,咱们直接开整!
🚀 章一:SSH密钥登录,告别密码时代!
来,看这边!屏幕上现在显示的是我的测试服务器,裸奔状态!(屏幕上出现一个终端界面,显示普通密码登录过程)
大家平时是不是也习惯用账号密码登录?敲来敲去多麻烦!而且密码容易被暴力破解,不安全!现在,咱们要做的第一步,就是禁用密码登录,只允许密钥登录! 这不光安全,还方便!这就像给你的服务器换上了一把独一无二的指纹锁!
第一步:生成SSH密钥对
在你的本地电脑上,打开终端(Windows用户可以用Git Bash或者WSL),输入这行命令,跟着我敲:
ssh-keygen -t rsa -b 4096
(屏幕上出现命令执行过程,提示输入文件名和密码,UP主进行语音指导)
“一路回车,或者你想给密钥加个密码也行,但记住,密钥密码丢了可就麻烦咯!”
第二步:上传公钥到服务器
生成好公钥(id_rsa.pub)和私钥(id_rsa)后,咱们得把公钥丢到服务器上去。最简单的方法就是用`ssh-copy-id`这个命令,如果没有就手动复制。Watch this!
ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip
(屏幕上演示命令执行,输入服务器密码进行验证,然后提示成功)
“看到没?一下子就搞定了!以后你就可以直接`ssh user@your_server_ip`登录,连密码都不用敲了!SSH密钥登录教程,这才叫效率!”
第三步:修改SSH配置文件禁用密码登录
这是最关键的一步!登录到你的服务器,咱们要编辑`sshd_config`这个文件。用`vim`或者`nano`都行,我习惯`vim`:
sudo vim /etc/ssh/sshd_config
(屏幕上显示vim编辑器界面,UP主高亮显示需要修改的几行)
- 找到`PasswordAuthentication yes`,把它改成`no`。
- 确保`PubkeyAuthentication yes`是开启的。
- 为了进一步安全,你还可以改一下SSH的端口,把`#Port 22`前面的`#`去掉,然后把`22`改成一个不常用的端口,比如`2333`。更改SSH端口怎么用?就这么用!
“改完之后,记住!一定要重启SSH服务才能生效啊兄弟们!”
sudo systemctl restart sshd
(屏幕上演示重启服务命令,然后UP主尝试用密码登录,提示Permission denied,再用密钥登录,成功进入!)
“怎么样?是不是瞬间感觉安全感爆棚?以后那些无聊的密码暴力破解,跟我这服务器说拜拜啦!”
🛡️ 章二:Fail2ban防爆破,主动出击!
光有密钥登录还不够!有些坏蛋还是会尝试各种方法来攻击你的SSH端口,持续的登录尝试会消耗你的服务器资源。这时候,咱们的另一个神器就该登场了——Fail2ban!
第一步:安装Fail2ban
这个简单,大部分Linux发行版直接`apt`或者`yum`都能搞定!
sudo apt update && sudo apt install fail2ban -y # Debian/Ubuntu
# sudo yum install epel-release -y && sudo yum install fail2ban -y # CentOS/RHEL
(屏幕上显示安装过程)
第二步:配置Fail2ban
“安装好之后,咱们需要配置一下,让它知道防哪些服务,怎么防!”
复制默认的配置文件,然后进行修改:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo vim /etc/fail2ban/jail.local
(屏幕上显示vim编辑界面,UP主高亮显示重要配置项)
- 找到`[DEFAULT]`部分,可以修改`bantime`(封禁时间,-1代表永久封禁)、`findtime`(多久内尝试多少次)、`maxretry`(最大尝试次数)。我一般`bantime`会设成`1h`,`maxretry`设成`3`。
- 拉到下面,找到`[sshd]`模块,把`enabled = false`改成`enabled = true`。
- 如果你改了SSH端口,记得在`port = ssh`那一行后面,把你的新端口加上,比如`port = ssh,2333`。Fail2ban怎么用,关键就在这里了!
第三步:启动并验证Fail2ban
配置完成,启动服务!
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo systemctl status fail2ban
(屏幕上显示启动状态,绿色active字样)
“接下来就是见证奇迹的时刻!我现在用一个错误的密码,连续尝试登录这台服务器。(屏幕上UP主切换到另一个终端,故意多次输入错误密码尝试SSH登录)看,只尝试了三次,我的IP就被封了!啪!直接给我禁了,这效率,绝了!”
(UP主切换回服务器终端,输入`sudo fail2ban-client status sshd`,显示封禁的IP地址)
“我的天哪!简直是安全卫士,全自动拉黑那些不怀好意的家伙!以后再也不用担心有人暴力破解我的服务器了!”
💡 总结与互动
OK,so,兄弟们姐妹们,今天的Linux服务器安全加固小课堂就到这里了!咱们学会了用SSH密钥登录彻底告别密码,还用Fail2ban主动防御暴力破解。这两招一出,你的服务器安全等级直接拉满!以后你再去搜“翻墙软件免费VPN”或者“油管怎么看”的时候,至少在你自己的服务器上,心里就踏实多了!
如果你觉得这个教程有帮助,记得给我点赞投币收藏,一键三连走起啊!你还想看什么服务器运维的硬核教程?在评论区告诉我!我会继续给大家带来更多有价值的内容!我们下期视频再见,拜拜!