LinuxSSH安全怎么提升_高频场景实战指导更易上手【教学】

发布时间 - 2025-12-20 00:00:00    点击率:
Linux SSH安全核心是围绕“谁在连、怎么连、连什么”做减法:禁用密码登录强制密钥认证、改默认端口并限制IP、启用Fail2ban防爆破、添加登录Banner或2FA,每项均可5分钟验证生效。

Linux SSH 安全不是堆配置,而是围绕“谁在连、怎么连、连什么”三件事做减法——关掉默认风险,收紧访问路径,留出可审计痕迹。下面这些操作,都是生产环境高频踩坑后验证有效的实战动作,改完就能见效。

禁用密码登录,强制密钥认证

90% 的暴力破解攻击止步于这一步。密码登录是最大软肋,尤其 root + 密码组合等于敞开大门。

  • 生成强密钥对(本地执行):ssh-keygen -t ed25519 -C "your_email@example.com"(优先选 ed25519,比 rsa 更快更安全)
  • 上传公钥到服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
  • 编辑 /etc/ssh/sshd_config,确保以下三项为:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no

改完别忘重启服务:sudo systemctl restart sshd。建议先开一个保留会话,测试新连接成功后再关闭旧会话。

改默认端口 + 限制登录IP范围

不求隐蔽,只为过滤掉扫描器的无效流量。SSH 默认 22 端口是所有自动化工具的起点。

  • 修改端口:在 /etc/ssh/sshd_config 中取消注释并改行:Port 2222(选 1024–65535 间非知名端口,避开常用如 8080、3306)
  • 限制来源 IP(推荐用 ufw):sudo ufw allow from 203.0.113.44 to any port 2222,再 sudo ufw enable
  • 若用云服务器(如阿里云、AWS),务必同步在安全组里放行新端口+指定IP,否则直接失联

启用 Fail2ban 防爆破,5 分钟上手

它不是防火墙,而是“盯日志+自动拉黑”的轻量级守门员,对反复失败登录的 IP 自动封禁(默认 10 分钟)。

  • 安装:sudo apt install fail2ban(Ubuntu/Debian)或 sudo yum install epel-release && sudo yum install fail2ban(CentOS)
  • 启用基础规则:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local,然后编辑 jail.local,确认有:

[sshd]
enabled = true
maxretry = 3
bantime = 600

启动服务:sudo systemctl enable fail2ban && sudo systemctl start fail2ban。可用 sudo fail2ban-client status sshd 查当前封禁情况。

加一层登录前校验:SSH banner 或 2FA(进阶但实用)

不是所有场景都需要 Google Authenticator,但一个清晰的法律提示 banner 能降低误操作和法律风险;真需要高安全,2FA 可无缝接入 OpenSSH 8.2+。

  • 加登录横幅(提醒+留痕):在 /etc/ssh/sshd_config 加一行:Banner /etc/issue.net,然后 echo “UNAUTHORIZED ACCESS PROHIBITED” > /etc/issue.net
  • 启用 2FA(仅限 OpenSSH ≥ 8.2):AuthenticationMethods publickey,keyboard-interactive:pam,再配好 PAM 模块(如 libpam-google-authenticator)。适合运维后台、财务系统等关键节点

基本上就这些。没用复杂工具链,每项都能 5 分钟内验证生效。安全不是一步到位,而是每次登录都少一个可利用路径。


# linux  # word  # centos  # go  # 防火墙  # 云服务  # access  # 端口  # ubuntu  # 工具  # 阿里云  # ai  # echo  #   # copy  # issue  # ssh  # debian  # 自动化  # 云服务器 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用已有域名快速搭建网站?  如何用搬瓦工VPS快速搭建个人网站?  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  🚀拖拽式CMS建站能否实现高效与个性化并存?  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  Laravel观察者模式如何使用_Laravel Model Observer配置  详解Oracle修改字段类型方法总结  中山网站推广排名,中山信息港登录入口?  如何在企业微信快速生成手机电脑官网?  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  制作电商网页,电商供应链怎么做?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  魔方云NAT建站如何实现端口转发?  大连 网站制作,大连天途有线官网?  网易LOFTER官网链接 老福特网页版登录地址  在Oracle关闭情况下如何修改spfile的参数  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  如何在 Pandas 中基于一列条件计算另一列的分组均值  Swift中swift中的switch 语句  Android实现代码画虚线边框背景效果  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  免费视频制作网站,更新又快又好的免费电影网站?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  JavaScript Ajax实现异步通信  如何快速上传建站程序避免常见错误?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  网页设计与网站制作内容,怎样注册网站?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  Laravel如何实现多对多模型关联?(Eloquent教程)  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何快速查询域名建站关键信息?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  香港网站服务器数量如何影响SEO优化效果?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  如何在腾讯云服务器快速搭建个人网站?