当前位置: 首页 > news >正文

安全第一!为你的openSUSE Tumbleweed SSH服务器做这几件小事(密钥登录+改端口+禁用root)

三招强化openSUSE Tumbleweed的SSH安全防线

每次看到服务器日志里密密麻麻的暴力破解尝试,我都忍不住倒吸一口凉气。上周帮朋友排查一台被入侵的服务器,原因正是默认SSH配置留下的安全隐患——22端口开放、root账号可登录、仅靠密码认证。这就像把家门钥匙挂在门把手上,还贴了张写有"欢迎光临"的纸条。作为openSUSE Tumbleweed的长期用户,我想分享三个简单却极其有效的安全加固措施,让你的SSH服务从"易攻难守"变成"铜墙铁壁"。

1. 密钥登录:告别密码时代的终极方案

密码认证就像用纸糊的锁,而密钥对认证则是银行金库级别的防护。去年某云服务商的统计显示,使用密钥认证的服务器遭受暴力破解的成功率直降99.8%。下面让我们在openSUSE上部署这套安全机制。

1.1 生成专属密钥对

首先在客户端(你的日常使用电脑)生成RSA 4096位密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行后会询问保存路径(直接回车用默认位置)和密码短语(建议设置)。生成的id_rsa.pub就是我们要用的公钥。

1.2 部署公钥到服务器

使用ssh-copy-id一键部署(确保先用密码登录一次服务器):

ssh-copy-id -i ~/.ssh/id_rsa.pub username@your_server_ip

或者手动操作:

  1. 查看公钥内容:cat ~/.ssh/id_rsa.pub
  2. 登录服务器,将公钥内容追加到~/.ssh/authorized_keys
  3. 设置正确权限:
    chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys

1.3 强制密钥认证

编辑SSH服务端配置:

sudo nano /etc/ssh/sshd_config

找到并修改以下参数:

PasswordAuthentication no PubkeyAuthentication yes

重启服务生效:

sudo systemctl restart sshd

重要提示:在关闭密码认证前,务必先测试密钥登录是否正常工作!建议保持两个终端窗口,一个测试密钥登录,另一个作为备用。

2. 修改默认端口:避开自动化攻击的雷达

22端口就像黑客的自动导航目标。根据Shodan的扫描数据,标准SSH端口接收的攻击尝试是非标准端口的200倍以上。让我们给openSUSE换个"隐形门牌号"。

2.1 选择合适端口

端口选择有讲究:

  • 避免使用常见服务端口(如80、443)
  • 建议在49152-65535范围内选择
  • 避开已知易受攻击的端口

我常用54321,既好记又不易冲突。

2.2 修改SSH配置

继续编辑/etc/ssh/sshd_config

Port 54321

2.3 更新防火墙规则

openSUSE使用firewalld管理防火墙:

sudo firewall-cmd --permanent --remove-service=ssh sudo firewall-cmd --permanent --add-port=54321/tcp sudo firewall-cmd --reload

2.4 测试新端口连接

使用指定端口连接测试:

ssh -p 54321 username@your_server_ip

确认无误后,可以彻底关闭原22端口:

sudo firewall-cmd --permanent --remove-port=22/tcp sudo firewall-cmd --reload

3. 禁用root登录:切断最高权限的直接通道

root账户就像服务器的王冠,直接暴露它等于邀请黑客来加冕。统计显示,禁用root远程登录可阻止约65%的自动化攻击尝试。

3.1 创建替代管理员账户

先创建一个具有sudo权限的普通用户:

sudo useradd -m -G wheel adminuser sudo passwd adminuser

3.2 配置SSH禁止root登录

编辑/etc/ssh/sshd_config

PermitRootLogin no

3.3 验证配置

重启SSH服务后,尝试用root直接登录应该会被拒绝:

ssh root@your_server_ip

而通过普通用户登录后,可以用sudo -i切换root权限。

4. 额外加固:多一层防护多一分安心

除了上述三大措施,还有几个锦上添花的加固建议:

4.1 限制登录尝试频率

编辑/etc/ssh/sshd_config添加:

MaxAuthTries 3 LoginGraceTime 1m

4.2 使用fail2ban自动封禁

安装并配置fail2ban:

sudo zypper install fail2ban sudo systemctl enable --now fail2ban

创建自定义jail配置:

sudo nano /etc/fail2ban/jail.d/sshd.local

添加内容:

[sshd] enabled = true port = 54321 maxretry = 3 bantime = 1h

4.3 定期更新系统

保持openSUSE Tumbleweed最新:

sudo zypper refresh sudo zypper update

操作后的完整检查清单

实施所有修改后,建议运行以下检查:

  1. 密钥登录测试:

    ssh -p 54321 adminuser@your_server_ip
  2. root登录测试(应失败):

    ssh -p 54321 root@your_server_ip
  3. 密码登录测试(应失败):

    ssh -p 54321 -o PreferredAuthentications=password adminuser@your_server_ip
  4. 检查服务状态:

    sudo systemctl status sshd sudo systemctl status fail2ban
  5. 查看防火墙规则:

    sudo firewall-cmd --list-all

记得把这些安全设置记录下来,特别是自定义端口号和新建的管理员账户信息。我在自己的密码管理器中专门建了一个"服务器SSH配置"分类存放这些关键信息。

http://www.jsqmd.com/news/671827/

相关文章:

  • 用STC15F2K60S2单片机复刻蓝桥杯省赛真题:一个ADC/DAC与NE555的综合应用项目
  • 如何通过开源音乐聚合播放器解决多平台音乐资源分散的难题
  • WindowsCleaner技术解析:开源Windows系统清理工具的实现与应用指南
  • HarmonyOS6 ArkTS TimePicker 组件使用文档
  • 【阿里/美团/字节内部技术简报】:Java 25虚拟线程在线上灰度中暴露出的4类结构性风险及防御清单
  • 如何实现全平台网盘不限速下载:2025年终极网盘直链助手完全指南
  • 2026甘肃技工院校五强解析|公办民办同台竞技,国方技工凭实训与升学突围 - 深度智识库
  • 如何在绝地求生中使用罗技鼠标宏实现专业级压枪:完整配置指南
  • Pico 4手势识别开发避坑指南:从Unity 2021.3.6到SDK 230的完整配置流程
  • 解锁批量回收盒马鲜生礼品卡4个高折扣技巧 - 京顺回收
  • Android虚拟摄像头完全指南:5分钟掌握摄像头内容替换技巧
  • 别慌!React日期组件报错#31?手把手教你用Moment.js搞定日期格式转换
  • Windows 一键部署 OpenClaw 教程|5 分钟搞定本地 AI 智能体,告别复杂配置
  • 手把手教你用C++实现SM4国密算法(附完整可运行代码)
  • AI期刊工具哪款强?白天上班晚上写论文?实测这款AI工具很趁手 - 逢君学术-AI论文写作
  • Cursor Pro激活终极指南:免费解锁AI编程助手完整功能
  • 图像图片照片风格转换API接口介绍 - Jumdata
  • 联想拯救者工具箱终极指南:免费掌控你的游戏本性能
  • 项目出了问题,领导在群里@我,说是我的失误。我翻出3个月前的会议记录,他亲口说的「按我说的做」
  • 轻量级性能管家:重新定义华硕笔记本硬件控制体验
  • 分享一份个人使用的全局 AGENTS.md
  • 掌握Inter字体的5个OpenType技巧:提升专业排版的秘密武器
  • FreeRTOS调试进阶:手把手教你用TraceRecorder和Tracealyzer分析任务阻塞与调度
  • 2026年会议系统推荐:远程/网络/智能/视频等多类型会议系统及设备方案优质之选! - 速递信息
  • 2026奇点大会核心议程泄露(仅限技术决策者阅):AGI+能源管理的5层可信架构白皮书首发
  • 告别POI内存溢出!用EasyExcel 2.2.3处理百万级Excel数据实战(附性能对比)
  • 2026年内蒙古代办市政资质公司优选 聚焦工程高效合规取证适配多场景 - 深度智识库
  • 给运维提个醒:老旧版本向日葵(SunloginClient)可能正在泄露你的服务器验证码
  • PID控制算法优化:RMBG-2.0图像处理流水线的性能调优
  • Kettle7.1实战:5分钟搞定Excel数据导入MySQL(附完整配置截图)