努力
加油

在阿里云轻量服务器上如何正确配置Ubuntu系统?

在阿里云轻量应用服务器(Simple Application Server,简称 SAS)上部署 Ubuntu 系统,其实和买一台普通 ECS 没太大区别,但因为是“轻量”产品,它的管理逻辑更偏向于“一键式”和“应用镜像”,所以配置思路要稍微调整一下。

很多新手容易踩的坑是:直接去控制台找“安全组”或者“防火墙”,结果发现界面和 ECS 不太一样;或者是买了服务器后,连不上 SSH,因为默认端口被改了或者密码没设置对。

下面我按实际操作的顺序,把从初始化到安全加固的全过程拆解给你,尽量去掉那些虚头巴脑的理论,只讲实操。

1. 初始环境确认:你拿到的是什么?

首先,确保你在阿里云控制台创建实例时,操作系统选的是 Ubuntu(通常是 20.04 LTS 或 22.04 LTS)。

  • 注意区分版本:Server 版没有图形界面,全是命令行。如果你习惯 GUI,建议先在本地装个虚拟机练手,或者使用 VNC 登录(后面会说)。
  • 获取初始信息:创建完成后,控制台会给你一个 IP 地址、用户名(默认通常是 root)和初始密码。务必截图保存或复制到记事本,这个密码只显示一次。如果忘了,可以在控制台重置 root 密码。

2. 首次连接:别急着敲命令

第一次连上去,建议用 VNC 登录。为什么?因为有时候网络策略还没完全生效,或者 SSH 服务启动有延迟,VNC 能帮你看到屏幕输出,避免把自己锁在外面。

连接成功后,第一件事不是装软件,而是改密码。初始密码通常很复杂且难记,建议立即修改:

passwd

按照提示输入新密码两次。记住,Linux 下输密码是不显示星号的,盲输就行。

3. 核心配置:SSH 密钥登录(强烈推荐)

用密码登录太不安全,也麻烦。作为技术人,首选 SSH 密钥对。

步骤如下:

  1. 生成密钥:在你的本地电脑(Mac/Linux 终端或 Windows 的 Git Bash/PowerShell)运行:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    一路回车即可,会在 ~/.ssh/id_rsa.pub 生成公钥。

  2. 上传公钥到服务器:

    • 方法一(简单粗暴):用 cat 命令查看你的公钥内容,然后回到服务器终端,编辑 /root/.ssh/authorized_keys,把公钥粘贴进去。
    • 方法二(推荐):阿里云轻量服务器支持通过控制台“重置密码”或“绑定密钥”功能。在控制台找到你的实例,点击“更多” -> “密码/密钥” -> “绑定密钥”。选择你刚才生成的公钥文件上传。
  3. 禁用密码登录:
    为了安全,必须禁止 root 通过密码远程登录。
    编辑 SSH 配置文件:

    sudo vi /etc/ssh/sshd_config

    找到并修改以下两项:

    PasswordAuthentication no
    PermitRootLogin prohibit-password  # 或者直接用 no,但我建议保留密码登录权限仅用于紧急救援,日常用密钥

    保存退出后,重启 SSH 服务:

    sudo systemctl restart sshd

    测试:断开当前连接,尝试用密钥重新登录。如果成功,再考虑是否彻底禁止 root 密码登录。

4. 防火墙与安全组:这是最容易混淆的地方

阿里云轻量服务器的网络隔离靠两层:阿里云控制台的“防火墙” 和 系统内部的 ufw 或 iptables。

  • 第一层:阿里云控制台防火墙
    在控制台左侧菜单找到“防火墙”选项。这里添加规则比 ECS 的安全组直观。

    • 必须放行:TCP 22 (SSH)。
    • 按需放行:80 (HTTP), 443 (HTTPS), 以及你业务使用的端口(如 3306, 8080 等)。
    • 重点:这里的规则优先级高于系统内部防火墙。如果你控制台没开 80 端口,你在系统里开了也没用。
  • 第二层:系统内部防火墙 (UFW)
    Ubuntu 默认自带 ufw。轻量服务器默认可能未启用,但建议启用以提供额外防护。

    sudo ufw enable
    sudo ufw default deny incoming
    sudo ufw allow ssh
    sudo ufw allow http
    sudo ufw allow https

    检查状态:sudo ufw status。

5. 系统基础优化与更新

刚初始化的 Ubuntu 比较“素”,需要做些基础清理和优化。

1. 更新源和软件包
国内访问 Ubuntu 官方源有时慢,建议换成阿里源或清华源。

# 备份原源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 编辑源列表 (以 Ubuntu 20.04 为例,替换为阿里源)
sudo vi /etc/apt/sources.list
# 将原有内容注释或删除,加入以下内容:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

# 更新缓存
sudo apt update
sudo apt upgrade -y

2. 安装常用工具

sudo apt install -y vim curl wget git htop net-tools unzip zip

3. 时区设置
确保服务器时间与中国时间一致:

timedatectl set-timezone Asia/Shanghai

6. 用户权限管理:不要一直用 Root

虽然轻量服务器默认只有 root 用户,但生产环境不建议直接用 root 跑所有任务。

创建一个普通用户并赋予 sudo 权限:

sudo adduser newuser
sudo usermod -aG sudo newuser

之后你可以用 newuser 登录,执行命令时加 sudo。这样即使误操作,也有缓冲。

7. 常见坑点排查

  • 连不上 SSH?

    1. 检查控制台防火墙是否放行了 22 端口。
    2. 检查本地 SSH 客户端是否正确加载了私钥(Windows 用 PuTTY 或 MobaXterm,Mac/Linux 用 ssh -i key.pem root@IP)。
    3. 检查 /etc/ssh/sshd_config 里的 Port 是否被修改过。
  • 网站打不开?

    1. 检查 Nginx/Apache 是否启动:systemctl status nginx。
    2. 检查防火墙是否放行 80/443。
    3. 检查域名解析是否指向了该 IP。
  • 内存不够?
    轻量服务器配置较低,如果跑 Java 或大型数据库,容易 OOM(内存溢出)。可以添加 Swap 分区:

    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

总结

在阿里云轻量服务器上配置 Ubuntu,核心就三步:

  1. 搞定连接:用密钥登录,放弃密码登录。
  2. 打通网络:控制台防火墙 + 系统 UFW 双重保险,只开必要端口。
  3. 基础环境:换源、更新、装工具、建普通用户。

这套流程走下来,你的服务器就是一个干净、安全、高效的基础设施,接下来就可以随意折腾 Docker、Nginx 或者你的代码项目了。