Ubuntu 20.04 LTS 服务器安装:从U盘启动到SSH配置的7个关键步骤
Ubuntu 20.04 LTS 服务器无头安装与SSH配置实战指南1. 准备工作与环境搭建在开始安装Ubuntu Server 20.04之前需要做好充分的准备工作。与桌面版不同服务器环境通常采用无头(headless)模式运行这意味着我们将完全通过命令行界面进行操作和管理。所需工具清单容量至少4GB的U盘推荐USB 3.0及以上Ubuntu Server 20.04 LTS镜像文件启动盘制作工具推荐Rufus或balenaEtcher目标服务器硬件配置检查表组件最低要求推荐配置CPU双核1GHz四核2GHz内存1GB4GB存储10GB50GB网络千兆网卡双网卡提示对于生产环境建议使用ECC内存和企业级SSD以确保数据完整性制作启动盘时需注意下载官方镜像时验证SHA256校验值使用GPT分区表适用于UEFI启动选择DD模式写入确保兼容性# 在Linux下验证镜像完整性的命令 sha256sum ubuntu-20.04.6-live-server-amd64.iso2. BIOS设置与系统安装服务器硬件通常需要特殊的BIOS配置以确保稳定运行关键BIOS设置项禁用Secure Boot启用AHCI模式设置U盘为第一启动项开启硬件虚拟化支持VT-x/AMD-V配置BMC/IPMI管理接口如有安装过程中的重要选择语言选择建议使用English避免路径编码问题网络配置此时可跳过后续详细配置磁盘分区方案推荐分区方案50GB磁盘示例挂载点类型大小说明/ext430GB根分区/bootext41GB引导分区/varext410GB日志和可变数据swapswap内存1.5倍交换空间大内存可减少# 安装完成后检查磁盘布局 lsblk -f3. 基础网络配置服务器环境中静态IP地址是必须的配置项。Ubuntu 20.04使用netplan进行网络管理。编辑配置文件sudo nano /etc/netplan/00-installer-config.yaml典型企业网络配置示例network: version: 2 renderer: networkd ethernets: enp3s0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] routes: - to: 10.0.0.0/8 via: 192.168.1.254应用配置并测试sudo netplan apply ping -c 4 google.com注意在企业环境中还需配置正确的DNS搜索域和NTP服务器4. SSH服务深度配置Ubuntu默认安装OpenSSH服务器但生产环境需要强化安全配置修改SSH默认端口禁用root直接登录启用密钥认证配置防火墙规则安全加固步骤# 备份原始配置 sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak # 编辑SSH配置 sudo nano /etc/ssh/sshd_config推荐修改的参数Port 2222 PermitRootLogin no PasswordAuthentication no MaxAuthTries 3 ClientAliveInterval 300 AllowUsers your_username生成SSH密钥对在客户端执行ssh-keygen -t ed25519 -C your_emailexample.com ssh-copy-id -p 2222 your_usernameserver_ip配置UFW防火墙sudo ufw allow 2222/tcp sudo ufw enable5. 系统优化与性能调校服务器安装完成后需要进行一系列优化配置内核参数优化# 编辑sysctl配置 sudo nano /etc/sysctl.conf添加以下内容# 提高网络性能 net.core.rmem_max4194304 net.core.wmem_max4194304 net.ipv4.tcp_rmem4096 87380 4194304 net.ipv4.tcp_wmem4096 65536 4194304 # 提高文件系统性能 vm.swappiness10 vm.dirty_ratio60 vm.dirty_background_ratio2服务管理优化# 禁用不必要的服务 sudo systemctl disable avahi-daemon sudo systemctl disable cups # 设置时区同步 sudo timedatectl set-timezone Asia/Shanghai sudo systemctl enable systemd-timesyncd6. 安全加固措施服务器安全是运维工作的重中之重必须实施多层次防护基础安全措施清单安装并配置fail2ban防止暴力破解sudo apt install fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local配置自动安全更新sudo apt install unattended-upgrades sudo dpkg-reconfigure unattended-upgrades启用审计日志sudo apt install auditd sudo systemctl enable --now auditd配置文件完整性监控sudo apt install aide sudo aideinit sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db定期安全检查脚本#!/bin/bash echo 安全检查报告 date echo -e \n[1] 用户账户检查 awk -F: ($3 0) {print} /etc/passwd echo -e \n[2] 空密码账户检查 awk -F: ($2 ) {print} /etc/shadow echo -e \n[3] SUID文件检查 find / -perm -4000 -type f 2/dev/null7. 远程管理方案进阶对于无头服务器可靠的远程管理方案至关重要备选远程管理方案对比方案端口加密适用场景安装命令SSH22是常规管理默认安装Webmin10000可选图形化管理sudo apt install webminCockpit9090是系统监控sudo apt install cockpitVPN可变是安全内网访问需专用VPN服务器推荐组合方案主要使用SSH密钥认证辅助使用Cockpit进行资源监控通过WireGuard VPN访问内网服务安装Cockpit及其插件sudo apt install cockpit cockpit-storaged cockpit-networkmanager sudo systemctl enable --now cockpit.socket配置WireGuard VPN示例# 安装WireGuard sudo apt install wireguard resolvconf # 生成密钥对 wg genkey | sudo tee /etc/wireguard/private.key sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key # 创建配置文件 sudo nano /etc/wireguard/wg0.conf典型服务器端配置[Interface] Address 10.8.0.1/24 ListenPort 51820 PrivateKey 服务器私钥 [Peer] PublicKey 客户端公钥 AllowedIPs 10.8.0.2/328. 故障排查与日常维护即使配置完善的服务器也可能遇到问题掌握排查方法至关重要常见问题排查命令# 网络连接检查 ip a ip route ss -tulnp # 系统资源监控 top htop iotop -o # 日志查看 journalctl -xe tail -f /var/log/syslog定期维护任务检查磁盘空间df -h检查内存使用free -m更新软件包sudo apt update sudo apt upgrade检查安全更新sudo unattended-upgrade --dry-run备份关键数据自动化维护脚本示例#!/bin/bash # 系统健康检查脚本 echo 系统健康报告 date echo -e \n[1] 系统负载 uptime echo -e \n[2] 内存使用 free -m echo -e \n[3] 磁盘空间 df -h echo -e \n[4] 最近登录 last | head -10 echo -e \n[5] 正在运行的服务 systemctl list-units --typeservice --staterunning | head -15将此脚本加入cron可实现定期自动检查# 每天凌晨3点运行检查 0 3 * * * root /usr/local/bin/system_health_check.sh /var/log/health_check.log