Ubuntu Server 从安装到远程桌面:新手部署与安全配置指南 📅 2026/8/14 2:46:17 1. 从裸机到远程桌面一次完整的Ubuntu Server部署之旅如果你手头有一台闲置的电脑或者刚在云服务商那里租了一台VPS想把它变成一个稳定、高效的服务器那么Ubuntu Server几乎是你绕不开的选择。它没有花哨的图形界面资源占用极低稳定性却出奇的好是搭建网站、数据库、开发环境乃至家庭媒体中心的绝佳平台。但很多新手朋友在第一步——安装和远程登录上就容易卡壳。今天我就以一个老运维的视角带你走一遍从下载镜像、安装系统到配置SSH安全登录再到按需安装图形界面的完整流程。这不仅仅是按几个“下一步”我会把每一步背后的逻辑、可能遇到的坑以及我踩过无数次才总结出的经验都揉碎了讲给你听。无论你是想搭建个人博客还是部署一个深度学习环境这篇文章都能让你少走弯路一次成功。2. 镜像选择与启动盘制作别在起跑线就选错安装的第一步是拿到正确的“安装包”。去Ubuntu官网下载时你会发现有Desktop和Server两个版本。简单来说Desktop版自带完整的图形界面适合日常办公娱乐而Server版默认只有命令行专为服务器设计更轻量、更安全。对于服务器我们毫无疑问选择Ubuntu Server。2.1 版本与架构LTS是王道架构要对号入座进入下载页面你会看到一堆版本号。我的建议是永远选择最新的LTS长期支持版本。比如当前是Ubuntu 24.04 LTS。LTS意味着官方会提供长达5年的安全更新和维护对于追求稳定的服务器环境至关重要。非LTS版本只有9个月支持周期不适合生产环境。另一个关键点是系统架构。现在绝大多数个人电脑和服务器都是x86_64也叫amd64架构直接选择对应的版本即可。如果你用的是树莓派Raspberry Pi或某些ARM架构的迷你主机则需要寻找ARM64版本。下载下来的通常是一个.iso格式的光盘镜像文件。2.2 制作启动盘告别软碟通拥抱更现代的工具有了镜像你需要把它“烧录”到一个U盘里才能用它来启动电脑并安装系统。很多教程会推荐使用老牌的UltraISO软碟通但在实际使用中尤其是在制作Linux启动盘时它有时会出现兼容性问题导致安装失败。我更推荐使用以下两款免费且可靠的工具RufusWindows平台下的神器。它开源、轻量对UEFI和Legacy BIOS启动模式的支持非常好。打开Rufus插入U盘注意制作过程会清空U盘所有数据请提前备份软件会自动识别。在“引导类型选择”处点击“选择”找到你下载的.iso文件。其他选项通常保持默认即可Rufus能智能识别镜像类型并配置好。点击“开始”等待完成。balenaEtcher跨平台Windows、macOS、Linux工具界面极其简单三步操作选择镜像、选择U盘、点击烧录。非常适合新手几乎不会出错。注意请务必使用一个容量不小于8GB的U盘并且确保其中没有重要数据。烧录过程是不可逆的。2.3 服务器启动设置进入BIOS/UEFI的关键一步将制作好的启动盘插入目标服务器开机。在开机自检POST画面出现时迅速按下特定的按键通常是F2、F12、Delete或Esc具体看屏幕提示或主板说明书进入BIOS/UEFI设置界面。在这里你需要完成两件事调整启动顺序在“Boot”或“启动”选项里将“USB Storage Device”或你的U盘名称移动到启动顺序的第一位。这样电脑才会从U盘而不是硬盘启动。关闭安全启动在“Security”或“安全”选项中找到“Secure Boot”选项将其设置为“Disabled”。这是一个由微软主导的安全特性有时会阻止非认证的操作系统如Linux启动关闭它能避免很多不必要的麻烦。保存设置并退出服务器会自动重启此时应该就会从U盘启动进入Ubuntu Server的安装界面了。3. 系统安装详解每一步的选择都有讲究安装界面通常是黑底绿字或白字的命令行菜单别慌我们用键盘的方向键和回车键操作。3.1 语言、键盘与网络配置首先选择语言建议选“English”因为后续很多命令行报错、社区资料都是英文的可以减少编码问题。键盘布局根据你的物理键盘选择国内通常是“Chinese”或“American English”。接下来是配置网络。安装程序会自动尝试通过DHCP获取IP地址。我强烈建议在这里就为服务器配置一个静态IP尤其是对于局域网内长期运行的服务器。这样你每次都能用固定的IP地址访问它而不是动态变化的地址。选择你的网卡进入“Edit IPv4”将“Automatic (DHCP)”改为“Manual”然后填入Subnet你的子网例如192.168.1.0/24Address你想分配给服务器的固定IP例如192.168.1.100Gateway你的路由器地址通常是192.168.1.1Name serversDNS服务器可以填8.8.8.8, 1.1.1.1谷歌和Cloudflare的公共DNS配置好后系统会立即测试网络连通性。3.2 代理、镜像源与磁盘分区“Configure proxy”通常留空除非你的网络环境需要代理。“Configure Ubuntu archive mirror”是配置软件源镜像。默认是国外的源下载速度可能很慢。你可以在这里直接输入国内的镜像地址例如阿里云的http://mirrors.aliyun.com/ubuntu这能极大提升后续软件包下载速度。磁盘分区是安装的核心环节也是新手最容易困惑的地方。Ubuntu提供了几种方案Use an entire disk使用整个磁盘并配置LVM。这是最简单推荐给新手的选项。LVM逻辑卷管理是一种磁盘管理技术能让你在未来更方便地调整分区大小。安装程序会自动为你创建/boot、swap和根分区/。Custom storage layout自定义存储布局。适合有特殊需求的用户比如你想把/home目录单独分区或者使用ZFS文件系统。对于绝大多数个人服务器或初学者选择“Use an entire disk”即可。它会清空你选中磁盘上的所有数据请务必确认磁盘选择正确。在下一步中你可以勾选“Set up this disk as an LVM group”体验LVM的灵活性。3.3 用户配置与SSH服务安装接下来是配置你的第一个用户。这里有一个至关重要的细节安装程序会问你是否为root用户设置密码。在Ubuntu的默认安全策略中root用户是被禁用的初始的sudo用户即你创建的第一个用户需要通过sudo命令来执行管理员操作。因此这里通常不要设置root密码直接跳过。然后输入你的用户名、服务器名hostname和密码。服务器名会用于网络标识比如myserver。最关键的一步来了在“SSH Setup”页面务必勾选“Install OpenSSH server”。这就是我们后续实现远程登录的核心服务。如果你错过了这一步安装完系统后会发现根本无法通过网络连接只能接上显示器和键盘去操作非常麻烦。勾选后你还可以选择导入现有的SSH公钥这对于使用密钥登录的用户很方便我们稍后会详细讲。最后在“Featured Server Snaps”页面你可以选择安装一些常见的服务器软件包如Docker、MicroK8s等。如果你是初次安装可以全部不选保持系统纯净后续需要什么再单独安装。确认所有信息无误后点击“Install”系统就会开始安装。这个过程大概需要10-20分钟取决于你的磁盘速度和网络速度下载语言包等。安装完成后提示重启记得拔出U盘否则又会进入安装界面。4. SSH远程登录安全与高效的管理入口系统安装完成并重启后你将看到一个黑色的登录提示符要求输入用户名和密码。这意味着你的Ubuntu Server已经在本地运行起来了。但服务器通常放在角落甚至机房我们不可能总接着显示器操作。这时SSHSecure Shell就是我们的“遥控器”。4.1 确认与连接第一次握手首先你需要知道服务器的IP地址。如果你在安装时配置了静态IP如192.168.1.100那就直接用这个地址。如果用的是DHCP你需要在服务器本地登录后输入命令ip addr或hostname -I来查看获取到的IP地址。在你的本地电脑可以是Windows、macOS或另一台Linux上打开终端Windows下可使用PowerShell或Windows Terminal。基础的SSH连接命令格式是ssh 用户名服务器IP地址例如ssh zhangsan192.168.1.100第一次连接时客户端会显示服务器的RSA密钥指纹并问你是否继续连接。输入yes后再输入你在安装时设置的用户密码就能成功登录了。你会看到命令行提示符从你本地电脑的变成了服务器上的例如zhangsanmyserver:~$。4.2 密钥登录告别密码拥抱安全与便捷每次登录都输密码既麻烦又不安全可能被暴力破解。SSH密钥登录是更专业、更安全的方式。其原理是你在本地生成一对密钥公钥和私钥把公钥“锁”放在服务器上私钥“钥匙”留在本地。连接时本地用私钥去匹配服务器上的公钥匹配成功即允许登录。生成密钥对在本地电脑操作ssh-keygen -t ed25519 -C your_emailexample.com-t ed25519指定使用更安全、更快的Ed25519算法如果你的旧系统不支持可以用-t rsa -b 4096。命令会提示你保存密钥的位置直接回车用默认位置即可和设置密钥密码可选为了更高安全性可以设置这样即使私钥文件泄露没有密码也无法使用。完成后会在~/.ssh/目录下生成两个文件id_ed25519私钥绝对保密和id_ed25519.pub公钥。将公钥部署到服务器最简单的方法是使用ssh-copy-id命令macOS和Linux通常自带ssh-copy-id zhangsan192.168.1.100输入一次密码后你的公钥就会被自动添加到服务器对应用户的~/.ssh/authorized_keys文件中。对于Windows用户如果没有ssh-copy-id可以手动操作复制本地id_ed25519.pub文件的内容。通过密码方式登录服务器。在服务器上确保~/.ssh目录存在mkdir -p ~/.ssh然后编辑~/.ssh/authorized_keys文件nano ~/.ssh/authorized_keys将复制的公钥内容粘贴到新的一行保存退出。完成后再次尝试SSH连接就会发现不需要输入密码直接登录了。4.3 安全加固禁用密码登录与修改端口启用密钥登录后为了彻底杜绝暴力破解我们可以禁用密码登录。在服务器上编辑SSH服务配置文件sudo nano /etc/ssh/sshd_config找到以下两行修改为PasswordAuthentication no PubkeyAuthentication yes同时为了进一步减少被自动化脚本扫描攻击可以修改默认的22端口。找到#Port 22这一行去掉注释#并将22改为一个1024到65535之间的任意端口例如Port 2222。注意修改端口前务必确保新的端口在服务器的防火墙如ufw中是放行的并且你自己能记住。修改后连接命令需加上端口参数ssh -p 2222 zhangsan192.168.1.100。修改完配置后需要重启SSH服务使配置生效sudo systemctl restart ssh务必在重启服务前打开一个新的终端窗口测试用密钥登录新端口是否成功这是防止配置错误把自己关在门外的保险措施。5. 图形界面选装xrdp与VNC的抉择Ubuntu Server的精髓在于无图形界面的高效。但有些场景确实需要图形界面比如运行一些仅有图形客户端的软件或者你觉得命令行实在不够直观。这时我们可以选择安装图形界面并通过远程桌面连接。5.1 安装桌面环境首先在服务器上安装一个轻量级的桌面环境。GNOME或KDE太重量级推荐使用XFCE或LXQt它们资源占用小适合远程桌面。以XFCE为例sudo apt update sudo apt install xfce4 xfce4-goodies -y这个安装过程会下载几百MB的包需要一些时间。5.2 配置xrdp服务xrdp是一个开源的服务它实现了微软的RDP远程桌面协议服务器让你可以用Windows自带的“远程桌面连接”或macOS/Linux下的RDP客户端来连接。安装xrdpsudo apt install xrdp -y安装完成后xrdp服务会自动启动。但我们需要告诉xrdp用户登录后启动哪个桌面环境。编辑xrdp的启动脚本sudo nano /etc/xrdp/startwm.sh在文件末尾fi语句之前添加一行startxfce4保存退出。然后重启xrdp服务sudo systemctl restart xrdp默认情况下xrdp监听3389端口。请确保服务器的防火墙如果开启了的话允许3389端口的入站连接。5.3 连接测试与排坑现在在你的本地Windows电脑上按下WinR输入mstsc打开远程桌面连接输入服务器IP地址点击连接。你会看到一个xrdp的登录界面输入你的服务器用户名和密码就应该能看到XFCE桌面了。常见坑点“connection problem, giving up”很多人在连接时会遇到这个错误然后连接断开。这通常是因为.xsession或.Xauthority文件的权限问题或者桌面环境配置冲突。一个比较彻底的解决方案是确保用户家目录下的相关文件权限正确sudo chown -R 用户名:用户名 /home/用户名尝试为当前用户指定桌面环境。编辑或创建~/.xsession文件nano ~/.xsession写入xfce4-session保存退出。如果还不行可以尝试安装另一个轻量级桌面xubuntu-desktop它基于XFCE但整合更完整然后修改/etc/xrdp/startwm.sh将startxfce4改为startxubuntu。5.4 替代方案VNC除了xrdpVNC是另一个经典的远程图形解决方案。例如可以安装tightvncserver。它的优点是客户端选择多但通常需要先在服务器上启动一个VNC Server进程并指定一个显示端口如:1然后客户端连接IP地址:5901。配置比xrdp稍复杂且默认传输未加密可通过SSH隧道解决。对于大多数从Windows环境过来的用户xrdp的体验特别是剪贴板共享、驱动器重定向往往更好。我的建议是除非有特定软件兼容性问题否则优先选择xrdp。6. 进阶管理与维护要点系统跑起来了也能远程登录了但这只是开始。要让服务器稳定、安全地长期运行还需要做一些基础维护。6.1 系统更新与升级定期更新系统是保证安全的最基本措施。sudo apt update # 刷新软件包列表 sudo apt upgrade # 升级所有已安装的包不改变系统核心 sudo apt dist-upgrade # 智能处理依赖关系的升级可能涉及内核变更对于服务器我建议的流程是先update然后upgrade。dist-upgrade更激进执行前最好了解其变更内容。升级内核后需要重启系统 (sudo reboot) 才能生效。6.2 防火墙配置ufw简易化管理Ubuntu默认安装了ufwUncomplicated Firewall它是对复杂iptables命令的友好封装。启用防火墙并设置默认策略拒绝所有入站允许所有出站sudo ufw default deny incoming sudo ufw default allow outgoing然后放行必要的服务。如果你修改了SSH端口为2222需要这样放行sudo ufw allow 2222/tcp如果安装了xrdp放行3389端口sudo ufw allow 3389/tcp最后启用防火墙sudo ufw enable你可以随时使用sudo ufw status numbered查看当前规则。6.3 查看登录记录与监控出于安全审计考虑你可能想知道谁在什么时候登录过你的服务器。查看最近登录记录使用last命令它会读取/var/log/wtmp文件显示所有用户的登录、登出历史及IP地址。查看失败登录尝试使用sudo lastb命令它读取/var/log/btmp文件显示失败的登录尝试这对发现暴力破解很有用。查看当前登录用户使用who或w命令。对于更长期的监控可以考虑配置日志审计工具如auditd或者将系统日志/var/log/auth.log里记录了SSH登录详情转发到集中的日志服务器。6.4 时间同步服务器时间不准会导致很多问题如日志时间错乱、证书验证失败。使用chrony来保持时间同步sudo apt install chrony -y sudo systemctl enable --now chrony安装后它会自动与配置的时间服务器同步。使用timedatectl status查看时间状态。走到这里你已经拥有了一台可以随时通过SSH远程管理、必要时也能通过图形界面操作的Ubuntu Server。它安静、稳定只消耗必要的资源等待着你部署下一个伟大的应用。记住服务器管理是一个持续的过程保持系统更新、关注安全日志、定期备份重要数据这些好习惯会让你在后面的运维道路上越走越顺。如果遇到问题多查看日志/var/log/下的文件善用man命令和社区资源你解决问题的能力会在这个过程中飞速增长。