【保姆级】阿里云ECS服务器选购、安全组配置及VS Code SSH连接全攻略(避坑指南)

0. 前言

刚买完云服务器,面对满屏的参数和报错手足无措?本文总结了从服务器系统选择、防火墙安全配置到 VS Code 远程开发的完整流程,带你绕过新手最容易踩的几个大坑。


1. 平台初识:为什么选择阿里云?

国内云服务器市场目前是"一超多强":

  • 阿里云:全能领头羊,稳定、产品线最全,适合追求极致稳定和 AI 开发的用户。

  • 腾讯云:音视频、游戏、小程序开发首选。

  • 七牛云:专业的"专精特新"云,擅长图片/视频存储(OSS)和 CDN 加速。

  • 华为云/天翼云:政企信创、国产化替代的首选。


2. 核心避坑:操作系统的选择

这是新手最容易犯错的地方。千万不要选 CentOS 7!

为什么推荐 Ubuntu 22.04?

  • VS Code 兼容性:新版 VS Code 要求的 glibc 组件版本较高,旧版系统(如 CentOS 7)会导致连不上。

  • 教程丰富:90% 的 Web 部署教程(Nginx, Docker)都是基于 Ubuntu。

  • Alibaba Cloud Linux 是什么? 它是阿里云自研系统,优化了性能,但对新手来说,Ubuntu 的生态更友好。

UEFI 是什么?要选吗?

  • 结论不要选 UEFI 版

  • 解释:UEFI 是新式启动模式,除非你的硬盘超过 2TB 或有特殊需求,否则普通版兼容性更稳,配置更简单。


3. 必须重视:防火墙(安全组)配置

防火墙决定了谁能访问你的服务器。

推荐规则配置清单:

|------------------|------------------------|--------------------|
| 协议端口 | 授权对象 | 用途 |
| TCP:22 | 0.0.0.0/0 (建议改为"我的IP") | SSH 远程登录(必须) |
| TCP:80 / 443 | 0.0.0.0/0 | 个人网站 HTTP/HTTPS 访问 |
| ICMP | 0.0.0.0/0 | 允许 Ping 命令检测网络是否通畅 |

⚠️ 安全大坑:

不要把数据库端口(MySQL 3306, Redis 6379)开放给 0.0.0.0/0!

如果你为了方便远程连接而全开,极易遭遇勒索病毒扫库。如果必须远程连数据库,请将授权对象改为你本地的公网 IP


4. 终极神器:使用 VS Code SSH 远程写代码

比起阿里云网页版的 Workbench,VS Code 才是开发者的真爱。

配置步骤:

  1. 安装扩展:在 VS Code 搜索并安装 Remote - SSH 插件。

  2. 添加主机:输入 ssh root@你的公网IP。

  3. 配置文件:编辑 .ssh/config,确保格式如下:

    codeText

    复制代码
    Host 121.196.xxx.xxx
      HostName 121.196.xxx.xxx
      User root

常见报错排查:

  • 报错:Permission denied (publickey...)

    • 原因:服务器默认禁用了密码登录。

    • 解决:通过 Workbench 登录后,修改 /etc/ssh/sshd_config,将 PasswordAuthentication 改为 yes,并重启 SSH 服务(sudo systemctl restart sshd)。

  • 报错:LinuxPrereqs (glibc 不满足)

    • 原因:系统太老(如 CentOS 7)。

    • 解决 :去控制台更换操作系统为 Ubuntu 22.04

  • 报错:Host key verification failed

    • 原因:你重装了系统,本地电脑记录的服务器"指纹"变了。

    • 解决:在本地电脑终端执行:ssh-keygen -R 你的服务器IP。

4. 核心:TypeScript 全栈项目环境搭建

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -

sudo apt-get install -y nodejs

如果你的项目包含 pnpm-lock.yaml、vite.config.ts、server/ 和 drizzle/ 文件夹,请按以下步骤配置环境:

4.1 安装 Node.js (建议 v20 LTS)

不要使用 Ubuntu 自带的旧版 Node。使用 NodeSource 脚本安装:

codeBash

复制代码
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证:node -v

4.2 安装 pnpm (项目核心包管理工具)

由于项目使用了 pnpm 锁定文件,必须安装 pnpm:

codeBash

复制代码
sudo npm install -g pnpm

4.3 数据库环境 (以 PostgreSQL 为例)

如果你的 Drizzle 配置连接的是 Postgres:

codeBash

复制代码
sudo apt install postgresql postgresql-contrib -y

4.4 安装 PM2 (让后端在后台永不掉线)

codeBash

复制代码
sudo pnpm add -g pm2

5. 项目部署实战流程

  1. 上传代码 :在 VS Code 连接 SSH 后,直接将本地项目文件夹拖入左侧文件栏(或通过 Git Clone)。

  2. 安装依赖:在项目根目录下执行 pnpm install。

  3. 配置环境变量:在服务器新建 .env 文件,填入生产环境的数据库连接字符串。

  4. 数据库迁移:运行 Drizzle 迁移命令(如 pnpm drizzle-kit push)同步表结构。

  5. 构建与运行

    • 前端:pnpm build。

    • 后端:pm2 start server/index.ts --interpreter ts-node (根据实际入口调整)。


6. 结语

  1. 选系统:Ubuntu 22.04(不带 UEFI)。

  2. 配安全组:只开 22, 80, 443,严禁裸奔数据库端口。

  3. 装环境:Node.js v20 + pnpm + 对应数据库。

相关推荐
程序员小崔日记9 小时前
20块钱注册一年 .COM 域名!Spaceship 最新优惠教程,支付宝即可付款(附优惠码)
服务器·腾讯云·域名
梦想的颜色9 小时前
2026 国产大模型硬核横评|阿里云百炼(通义 Qwen3.7 Max)VS DeepSeek V4-Pro:平台、定价、吞吐、能力、工程落地全方位对比
阿里云·通义千问·阿里云百炼·deepseek v4-pro·qwen3.7·llm 吞吐量实测·#企业 maas 平台横评
实心儿儿10 小时前
Linux —— 进程间关系和守护进程
linux·运维·服务器
林浅不想努力11 小时前
LVS知识点总结
服务器·云原生·lvs
栈溢出的浪漫11 小时前
2026 WAIC 直击丨阿里云全栈AI落地:从芯片算力到智能体原生云
阿里云·全栈ai·2026waic·智能体原生云·大模型产业化
Dawn-bit11 小时前
Linux磁盘管理详解
linux·运维·服务器·计算机网络·云计算
LDZKKJ12 小时前
OpenAI模型“越狱“入侵Hugging Face——AI安全史上的至暗时刻
网络·人工智能·安全
zzq779714 小时前
别把大模型 API Key 写进 APK:移动 AI 应用接口防盗刷实践
android·人工智能·安全·app加固·御盾安全·安卓加固
山东科恩光电15 小时前
如何通过穆柯隐卫MZS-01确保生产安全与人员保护?
安全
三言老师15 小时前
CentOS7.9:Redis‑Cluster集群部署结构化实战教程
linux·运维·服务器·数据库