首页 / 服务器运维 / Linux服务器安全加固:SSH密钥

Linux服务器安全加固:SSH密钥登录、Fail2ban防爆破,告别“油管怎么看”的卡顿!

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

兄弟们姐妹们好啊!我是你们的极客老铁,今天咱们要来聊点硬核的!大家都知道,现在服务器安全那可是头等大事,特别是我们在外面寻找资源,比如“油管怎么看”这类的内容时,如果服务器不安全,那可就麻烦大了!所以,今天我就来手把手教大家,怎么把你的Linux服务器武装到牙齿!OK,so,废话不多说,咱们直接开整!

🚀 章一:SSH密钥登录,告别密码时代!

Q1需求调研Q2产品开发Q3内测上线Q4全面推广

来,看这边!屏幕上现在显示的是我的测试服务器,裸奔状态!(屏幕上出现一个终端界面,显示普通密码登录过程)

大家平时是不是也习惯用账号密码登录?敲来敲去多麻烦!而且密码容易被暴力破解,不安全!现在,咱们要做的第一步,就是禁用密码登录,只允许密钥登录! 这不光安全,还方便!这就像给你的服务器换上了一把独一无二的指纹锁!

第一步:生成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防爆破,主动出击!

10M+用户规模150+国家覆盖4.8★用户评分30天免费试用

光有密钥登录还不够!有些坏蛋还是会尝试各种方法来攻击你的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”或者“油管怎么看”的时候,至少在你自己的服务器上,心里就踏实多了!

如果你觉得这个教程有帮助,记得给我点赞投币收藏,一键三连走起啊!你还想看什么服务器运维的硬核教程?在评论区告诉我!我会继续给大家带来更多有价值的内容!我们下期视频再见,拜拜!