Ubuntu系统安装与SSH安全配置完整指南

📅 2026/7/24 6:20:38
Ubuntu系统安装与SSH安全配置完整指南
1. 项目概述作为一名Linux系统管理员我经常需要在新机器上部署Ubuntu系统并配置远程管理环境。今天我想分享一个完整的Ubuntu安装和SSH配置流程这是我多年来在数百台服务器上验证过的可靠方案。这个教程适合刚接触Linux的开发者、运维人员或学生通过它你可以快速掌握Ubuntu系统安装的核心步骤理解分区方案的设计原理配置安全的SSH远程访问解决安装过程中的常见问题整个过程大约需要30-60分钟取决于你的硬件配置和网络速度。我们将使用最新的Ubuntu LTS版本当前是22.04这是最稳定且长期支持的企业级发行版。2. 准备工作2.1 硬件与镜像准备首先需要准备一台x86架构的物理机或虚拟机至少2核CPU/4GB内存/25GB存储8GB以上的U盘用于制作启动盘稳定的网络连接建议有线网络从Ubuntu官网下载ISO镜像时我推荐选择Ubuntu Server 22.04 LTS无GUI更适合服务器或者Ubuntu Desktop 22.04 LTS带图形界面注意一定要验证下载的ISO文件校验值我遇到过因镜像损坏导致安装失败的情况。可以使用sha256sum命令核对。2.2 制作启动盘使用RufusWindows或dd命令Linux/Mac制作启动盘# Linux/Mac下使用dd命令 diskutil list # 先确认U盘设备名如/dev/disk2 diskutil unmountDisk /dev/disk2 sudo dd ifubuntu-22.04.3-desktop-amd64.iso of/dev/disk2 bs4m制作完成后在BIOS中设置U盘为第一启动项。不同主板的进入方式不同常见的有Dell/HPF12LenovoF1/F2ASUSESC/F83. Ubuntu系统安装详解3.1 安装流程启动后会进入安装界面关键步骤包括语言选择建议选English避免后续终端乱码网络配置如果有线网络可用建议此时连接磁盘分区这是最容易出错的环节3.2 分区方案设计对于50GB磁盘的服务器我推荐的分区方案挂载点类型大小文件系统备注/boot主分区1GBext4引导分区/逻辑卷30GBext4根分区/home逻辑卷15GBext4用户目录swap交换空间4GBswap内存8GB时建议设置经验生产环境建议使用LVM方便后期扩容。个人开发机可以直接使用标准分区。3.3 用户与软件包配置创建用户时避免使用root直接登录用户名建议全小写字母勾选安装OpenSSH server选项软件包选择最小化安装只选标准系统工具需要GUI时才选Ubuntu Desktop安装完成后会提示重启记得拔出安装介质。4. SSH远程连接配置4.1 基础SSH配置安装后第一件事就是配置SSHsudo apt update sudo apt install openssh-server -y sudo systemctl enable --now ssh检查SSH状态sudo systemctl status ssh # 应该看到active (running)4.2 安全加固默认配置不安全建议修改/etc/ssh/sshd_configPort 2222 # 修改默认端口 PermitRootLogin no PasswordAuthentication no # 强制使用密钥登录 MaxAuthTries 3 ClientAliveInterval 300然后重启服务sudo systemctl restart ssh4.3 密钥认证设置更安全的方式是使用密钥对本地生成密钥ssh-keygen -t ed25519 -C your_emailexample.com上传公钥到服务器ssh-copy-id -p 2222 usernameserver_ip测试连接ssh -p 2222 usernameserver_ip5. 常见问题解决5.1 安装阶段问题问题1安装卡在Detecting file systems解决方案检查ISO完整性尝试nomodeset启动参数问题2重启后黑屏解决方案在GRUB界面按e编辑启动项在linux行末尾添加acpioff进入系统后安装显卡驱动5.2 SSH连接问题问题1Connection refused排查步骤sudo ufw status查看防火墙netstat -tuln | grep 2222检查端口监听journalctl -u ssh --since 1 hour ago查日志问题2密钥认证失败解决方案检查~/.ssh权限必须为700authorized_keys权限必须为600SELinux可能阻止访问可临时setenforce 0测试6. 系统初始化优化安装完成后建议执行# 更新系统 sudo apt update sudo apt upgrade -y # 安装常用工具 sudo apt install -y vim git curl net-tools # 设置时区 sudo timedatectl set-timezone Asia/Shanghai # 配置vim基础设置 echo set number syntax on set tabstop4 ~/.vimrc对于开发环境可以安装# Python环境 sudo apt install -y python3-pip python3-venv # Docker sudo apt install -y docker.io sudo usermod -aG docker $USER7. 备份与恢复方案建议在系统配置完成后创建基础镜像使用dd命令备份整个磁盘sudo dd if/dev/sda | gzip /mnt/backup/ubuntu_base.img.gz或者使用Timeshift进行增量备份sudo apt install -y timeshift sudo timeshift --create --comments Initial backup恢复时使用LiveCD启动然后gunzip -c /mnt/backup/ubuntu_base.img.gz | sudo dd of/dev/sda8. 进阶配置建议8.1 网络优化修改/etc/sysctl.conf增加net.ipv4.tcp_fastopen3 net.core.default_qdiscfq net.ipv4.tcp_congestion_controlbbr生效配置sudo sysctl -p8.2 日志管理安装logrotate配置sudo apt install -y logrotate sudo vim /etc/logrotate.d/ssh_custom添加内容/var/log/ssh.log { rotate 7 daily missingok notifempty delaycompress compress postrotate /usr/lib/rsyslog/rsyslog-rotate endscript }8.3 监控设置基础监控工具sudo apt install -y htop iotop iftop nmon配置prometheus node_exporterwget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz tar xvf node_exporter-*.tar.gz sudo mv node_exporter-*/node_exporter /usr/local/bin/ sudo useradd -rs /bin/false node_exporter创建systemd服务sudo vim /etc/systemd/system/node_exporter.service服务内容[Unit] DescriptionNode Exporter Afternetwork.target [Service] Usernode_exporter Groupnode_exporter Typesimple ExecStart/usr/local/bin/node_exporter [Install] WantedBymulti-user.target启动服务sudo systemctl daemon-reload sudo systemctl enable --now node_exporter