远程终端管理安全性是linux服务器最核心的防线,必须系统性加固:修改ssh默认端口(如22222)、禁用sshv1协议、强制密钥认证(ed25519)、禁止root登录、限制允许用户及ip、设置会话超时,并同步配置防火墙与日志审计。

远程终端管理安全性是 Linux 服务器最核心的防线。一旦 SSH 入口失守,攻击者就等于拿到了整台机器的钥匙。加固不是加一堆补丁,而是系统性封堵所有可被利用的入口点——从网络暴露面、身份认证方式,到权限控制与行为审计。
修改默认端口并禁用 SSHv1 协议
22 端口是全网扫描器的“默认靶心”。改端口虽不能防高级攻击,但能大幅降低自动化爆破命中率。同时必须关闭早已淘汰的 SSHv1,它存在设计级缺陷,无法抵御中间人攻击。
- 编辑 /etc/ssh/sshd_config,取消注释并修改 Port 行,例如设为 22222(确保在 1024–65535 范围内且未被占用)
- 确认 Protocol 2 已启用,删除或注释掉任何
Protocol 1相关配置 - 重启服务:sudo systemctl restart sshd
- 防火墙同步放行新端口:sudo ufw allow 22222(如使用 UFW)
禁用密码登录,强制使用密钥认证
密码易被暴力破解、撞库、钓鱼,而密钥认证基于非对称加密,私钥不离本地,天然抗爆破。这是目前最可靠的身份验证方式。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
- 在本地生成强密钥:ssh-keygen -t ed25519 -C "admin@prod"(优先选 ed25519,比 RSA 更快更安全)
- 用 ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 22222 user@server_ip 推送公钥
- 编辑 /etc/ssh/sshd_config,设 PasswordAuthentication no、ChallengeResponseAuthentication no
- 务必先测试新密钥能否成功登录,再重启 sshd,避免锁死
限制登录主体与会话行为
即使认证方式安全,也要防止合法账户被滥用。应明确“谁可以登”、“从哪登”、“登了能做什么”、“登太久自动断”。
- 禁止 root 远程登录:PermitRootLogin no
- 只允许指定用户登录:AllowUsers deploy admin(多个用户名空格分隔)
- 限制来源 IP(如仅允办公网段):AllowUsers admin@192.168.10.0/24
- 设置空闲超时:ClientAliveInterval 300(5 分钟发一次心跳)、ClientAliveCountMax 2(两次无响应即断开)
- 单次连接最多尝试 3 次认证:MaxAuthTries 3
配套加固:防火墙、日志与权限最小化
SSH 配置只是起点。若没有外围防护和操作留痕,单点加固效果有限。
- 启用 UFW 并默认拒绝入站:sudo ufw default deny incoming,仅开放必要端口(如 22222、HTTP/HTTPS)
- 确保 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(RHEL/CentOS)持续记录登录事件,并配置日志轮转与远程备份
- 创建专用管理用户(如 sudo adduser ops),加入 sudo 组,禁用其交互式 shell 外的其他登录方式(如 FTP、SFTP 除非必需)
- 定期检查 ~/.ssh/authorized_keys 内容,确认无未知公钥;权限必须为 600(文件)和 700(目录)










