42 分钟
部署与基础设施工程

云服务器是怎么回事:规格、地域、安全组与 SSH 密钥登录

讲清云服务器 ECS/CVM 的本质与选购要点(地域可用区、规格、镜像、公网 IP、带宽、安全组),并讲透 SSH 非对称密钥登录原理,让你第一次买服务器、第一次登录就不走弯路

  • 理解云服务器是虚拟化实例,看懂规格、镜像、系统盘/数据盘、公网与弹性 IP
  • 理解地域、可用区与带宽计费,能按项目选合适配置而不花冤枉钱
  • 搞懂安全组是什么、和系统防火墙的关系,知道端口为什么要两层放行
  • 理解 SSH 非对称密钥登录原理,会安全地首次登录并禁用弱密码

你买的「云服务器」到底是什么

云厂商卖的云服务器(阿里叫 ECS、腾讯叫 CVM、AWS 叫 EC2)本质是一台跑在大型物理机集群上的虚拟机,通过虚拟化把 CPU、内存、磁盘切分成可随时创建、销毁、升降配的实例。理解这一点,你就明白为什么它能「分钟级开机」「随时加内存」「快照一键回滚」——这些都是物理机做不到、虚拟化才有的能力。朋友好学就部署在一台这样的 Ubuntu 云服务器上。

选购时每个参数到底什么意思

云服务器核心参数地域/可用区:地域=城市(广州/上海/法兰克福),可用区=同城独立机房; 离用户越近延迟越低;境内面向大陆用户必须选大陆地域(备案前提)实例规格 :vCPU 核数 + 内存 + 网络性能;轻量应用/小后端 1~2 核 2~4G 足够起步镜像 :操作系统模板,后端选长期支持版最省心(如 Ubuntu 24.04 LTS)磁盘 :系统盘装 OS,数据盘单独挂载、可独立扩容与快照公网 IP :对外可达的地址;弹性公网 IP(EIP) 可在换机时保留、解绑重绑带宽计费 :按固定带宽(包月、峰值确定)或按使用流量(波谷省钱),小站常用后者安全组 :云厂商层面的虚拟防火墙,白名单决定哪些端口能从公网进来

💡独立开发者怎么选不浪费

面向真实用户前,学习/测试用最低配即可;正式起步一台 2 核 2~4G、系统盘 40~50G SSD、按流量计费 + 3~5 Mbps 带宽峰值,足以跑起 Nginx + Node + 小型数据库。瓶颈通常先出现在内存(构建 Next.js 很吃内存,可在本地构建后只上传产物,服务器就不必扛构建)。地域上:大陆用户选大陆(要备案但访问快),海外用户选香港/新加坡/法兰克福等就近节点。

安全组:最容易被忽略的第一道门

一台云服务器有两层防火墙:外层是云控制台里的「安全组」,内层是机器里的系统防火墙(ufw/iptables)。一个数据包必须先过安全组、再到系统防火墙、最后服务进程还得真的在监听,三者都通才算连通。新手最常见的「本机 curl 通、外网访问不通」,九成是安全组没放行对应端口。

示例
最小放行原则(只开必须的端口)
22    SSH 远程登录(可限制来源 IP 更安全)
80    HTTP(用于跳转 HTTPS 与证书校验)
443   HTTPS(正式对外)
# 数据库 3306、后端 5180 等一律不对公网开放,只在本机/内网通信
🚫数据库和内部端口绝不要开到公网

把 MySQL(3306)、Redis(6379)、后端调试端口直接对 0.0.0.0/0 开放,是服务器被入侵、被勒索的头号原因之一:互联网上有大量机器人 7×24 扫这些端口撞弱密码。正确做法是它们只绑 127.0.0.1 或内网,公网只暴露 80/443,由 Nginx 统一收口(呼应 Stage15-m1)。

SSH:用密钥而不是密码登录

你通过 SSH(安全外壳协议,22 端口)远程敲命令管理服务器。SSH 登录有两种凭证:密码和非对称密钥。生产环境强烈建议用密钥:本地生成一对密钥,公钥放到服务器的 ~/.ssh/authorized_keys,私钥留在自己电脑、绝不外传;登录时服务器用公钥出一道只有持有私钥者能答对的题,全程私钥不离开本机、也不在网络上传送,因此比可被暴力撞库的密码安全得多。

示例
# 本地生成密钥对(以 ed25519 为例,更短更安全)
ssh-keygen -t ed25519 -C "you@example"
#  -> 私钥 id_ed25519(妥善保管)、公钥 id_ed25519.pub(放到服务器)

# 首次登录(首次会让你确认主机指纹,确认后记录在 known_hosts)
ssh -i 私钥文件 ubuntu@服务器公网IP

# 朋友好学的登录形如:
ssh -i ~/.ssh/id_ed25519 ubuntu@134.175.44.210
选学

首次登录后的安全加固清单(选学)

拿到一台新服务器,建议按顺序做最小加固:

更新系统:sudo apt update && sudo apt upgrade -y用密钥登录成功后,关闭 SSH 密码登录、禁止 root 直接登录(改 /etc/ssh/sshd_config 后 sudo systemctl restart ssh)创建普通用户、用 sudo 提权,日常不用 root配好安全组最小放行;必要时改 SSH 端口或限制来源 IP开启云厂商的快照/备份策略,装好 fail2ban 之类防爆破工具(可选)

原则:能少开一个端口、少一个弱口令、少用一次 root,攻击面就小一分。

选择题

服务器本机 curl 127.0.0.1:443 正常,但用户从外网打不开网站,最先该检查的是?

本节小结

云服务器是可弹性创建的虚拟机;选购看地域可用区(就近、大陆要备案)、规格(轻后端1~2核2~4G起步)、镜像(选LTS如Ubuntu24.04)、系统盘/数据盘、公网/弹性IP、带宽计费与安全组。连通要过三关:云安全组→系统防火墙→进程监听,最小放行只开22/80/443,数据库与内部端口只绑本机绝不开公网。SSH 用非对称密钥登录(公钥放服务器、私钥留本地、不传输私钥)比密码安全,首次登录后做更新、禁密码登录、禁root、普通用户sudo、快照备份等最小加固。

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

从浏览器到你的应用,一次请求依次经过 DNS 解析、TCP 三次握手、TLS 握手、反向代理、上游应用,再到数据库或缓存,沿原路返回。每一跳都可能是延迟或故障点,所以排错要分层推进:先确认域名解析和端口连通,再看证书是否有效,最后看应用日志与依赖,而不是出问题就先重启。能把链路一层层说清,定位线上故障会快一个数量级。