Ubuntu中OpenSSH配置与安全实践

Ubuntu中OpenSSH配置与安全实践

OpenSSH 是 Linux 系统中最常用的远程登录和文件传输工具之一,在 Ubuntu 系统中默认集成,但若配置不当,可能带来严重安全隐患。本文将结合具体操作细节,帮助用户安全高效地使用 OpenSSH。

默认安装与启动状态

在大多数 Ubuntu 桌面版系统中,OpenSSH 服务默认并未安装,而服务器版(如 Ubuntu Server 22.04 LTS)则会在安装过程中自动启用 openssh-server。用户可通过命令 sudo systemctl status ssh 查看服务状态。若未安装,可运行 sudo apt install openssh-server 快速部署。值得注意的是,2023 年曾有用户反馈因误以为 SSH 已启用,导致自动化脚本远程连接失败,耽误关键任务执行。

修改默认端口提升安全性

出于安全考虑,建议将 SSH 默认端口 22 更改为非标准端口。这虽不能完全阻止攻击,但能有效减少自动化扫描工具的骚扰。修改方法为编辑 /etc/ssh/sshd_config 文件,找到 #Port 22 行,取消注释并替换为如 Port 22222。保存后重启服务:sudo systemctl restart ssh。某高校 IT 部门在 2025 年初实施此策略后,其公网服务器的暴力破解尝试日志从每日数千次降至个位数。

禁用密码登录,启用密钥认证

使用 SSH 密钥对替代密码登录是业界推荐的最佳实践。生成密钥可通过 ssh-keygen -t ed25519 命令完成,公钥上传至服务器的 ~/.ssh/authorized_keys 文件中。随后在 /etc/ssh/sshd_config 中设置 PasswordAuthentication no 并重启服务。一位 DevOps 工程师分享,他在一次渗透测试中发现,即使使用强密码,只要允许密码登录,系统仍可能被撞库工具攻破;而启用密钥认证后,攻击面显著缩小。

定期更新与日志监控

Ubuntu 的安全更新机制会及时推送 OpenSSH 的漏洞修复补丁。建议开启 unattended-upgrades 自动更新,或定期执行 sudo apt update && sudo apt upgrade。同时,通过 journalctl -u ssh/var/log/auth.log 监控异常登录行为。例如,2024 年 OpenSSH 曾披露一个高危 CVE(CVE-2024-6387),影响多个 Linux 发行版,Ubuntu 在 48 小时内即发布修复版本,及时更新的用户成功规避风险。

通过以上措施,用户不仅能在 Ubuntu 系统中高效使用 OpenSSH,还能显著提升服务器的安全防护能力。