已构建高效安全的Ubuntu Server命令行运维体系:完成系统更新与基础工具安装;强化SSH密钥认证并禁用密码登录;配置限定命令范围的免密sudo;部署logrotate日志轮转;启用UFW最小化防火墙规则。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您已安装 Ubuntu Server 并进入纯命令行环境,但尚未建立高效、安全、可复用的运维工作流,则可能是由于基础配置缺失、权限管理粗放或常用工具链未就绪。以下是构建稳定命令行运维体系的关键步骤:
一、初始化系统更新与基础工具链
确保系统软件包索引最新并安装通用运维依赖,为后续所有操作提供可靠底层支持。缺失此步可能导致后续命令执行失败或安全漏洞暴露。
1、运行 sudo apt update 更新本地软件包索引。
2、执行 sudo apt upgrade -y 完成所有已安装包的升级,避免版本碎片化。
3、安装基础工具集:sudo apt install -y curl wget git vim net-tools dnsutils htop jq unzip。
4、验证 htop 是否可用:输入 htop 后按 q 键退出,确认交互式进程查看器已就绪。
二、强化 SSH 远程访问安全性与便捷性
默认 SSH 配置存在弱口令风险与冗余服务暴露,需关闭密码登录、启用密钥认证,并限制访问来源范围。
1、生成本地 SSH 密钥对(如尚未拥有):ssh-keygen -t ed25519 -C "admin@server"。
2、将公钥复制至服务器:ssh-copy-id -i ~/.ssh/id_ed25519.pub username@server_ip。
3、编辑 SSH 配置文件:sudo nano /etc/ssh/sshd_config。
4、修改以下三行内容:
PermitRootLogin no
PasswordAuthentication no
AllowUsers username
5、重启服务生效:sudo systemctl restart sshd。
6、在新终端窗口测试连接:ssh -i ~/.ssh/id_ed25519 username@server_ip,成功后应无需输入密码。
三、配置非 root 用户的免密 sudo 权限(限定命令范围)
避免频繁切换 root 或重复输入密码,同时防止无约束的全权 sudo 带来的误操作风险,采用白名单机制授权关键运维命令。
1、编辑 sudoers 文件:sudo visudo。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
2、在文件末尾添加一行:
username ALL=(ALL) NOPASSWD: /usr/bin/systemctl *, /usr/bin/apt *, /usr/bin/reboot, /usr/bin/shutdown
3、保存退出后,切换至该用户执行:sudo systemctl status sshd,不应提示输入密码。
4、尝试执行未授权命令如 sudo rm -rf /:系统将拒绝执行并提示权限不足。
四、部署轻量级日志归档与轮转策略
防止 /var/log 下日志文件无限增长导致磁盘满载,通过 logrotate 实现自动压缩、删除与时间切片,保障系统长期稳定运行。
1、创建自定义配置文件:sudo nano /etc/logrotate.d/server-core。
2、填入以下内容:
/var/log/syslog {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 644 syslog syslog
}
3、手动触发一次轮转测试:sudo logrotate -f /etc/logrotate.d/server-core。
4、检查结果:ls -lh /var/log/syslog*,应看到带日期后缀的压缩归档文件。
五、启用并验证防火墙最小化规则集
UFW 是 Ubuntu 默认集成的防火墙前端,以极简语法实现状态化过滤;仅开放必要端口,其余全部拒绝,符合最小权限原则。
1、启用 UFW:sudo ufw enable。
2、默认策略设为拒绝入站:sudo ufw default deny incoming。
3、允许本机回环通信:sudo ufw allow loopback。
4、开放 SSH 端口(若使用非标准端口请替换 22):sudo ufw allow 22/tcp。
5、查看当前规则:sudo ufw status verbose,输出中应显示“Status: active”及明确的允许条目。


















