新手如何连接阿里云Linux虚拟机并进行基本操作?

新手连接阿里云 Linux 虚拟机(ECS)并进行基本操作,可以按以下清晰、安全、分步的流程操作(以 Ubuntu/CentOS 为例,适用于大多数场景):

✅ 前提准备

  1. 已开通阿里云账号,并成功创建一台 Linux ECS 实例(推荐选择 Ubuntu 22.04 或 CentOS 7/8)。
  2. 记录好以下关键信息(在阿里云控制台 → ECS 实例详情页查看):
    • 公网 IP 地址(如 47.98.xxx.xxx)⚠️注意:若无公网 IP,请先为实例分配弹性公网 IP(EIP)或配置 NAT 网关;内网 IP 仅限同地域VPC内访问。
    • 实例登录凭证
      密钥对(推荐✅,更安全):创建实例时已下载 .pem 文件(如 my-key.pem
      密码登录(不推荐新手首次使用,因需重置密码且易被爆破)

🔹 第一步:本地环境准备

  • ✅ Windows 用户:安装 PuTTY(图形化)或更推荐 Windows Terminal + OpenSSH(Win10/11 自带)
  • ✅ macOS / Linux 用户:直接使用终端(Terminal),已内置 ssh 命令

💡 提示:强烈建议使用「密钥对」方式登录,避免密码泄露风险。


🔹 第二步:连接 Linux ECS(以密钥方式为例)

▶ macOS / Linux 终端(推荐)

# 1. 设置私钥权限(重要!否则 ssh 拒绝读取)
chmod 400 ~/Downloads/my-key.pem

# 2. 连接(Ubuntu 默认用户是 ubuntu;CentOS 是 centos;Alibaba Cloud Linux 是 root)
ssh -i ~/Downloads/my-key.pem ubuntu@47.98.xxx.xxx
# 或(CentOS)
ssh -i ~/Downloads/my-key.pem centos@47.98.xxx.xxx

✅ 成功后会看到类似 [ubuntu@iZxxx ~]$ 提示符,即已登录!

▶ Windows(使用 PowerShell 或 CMD,OpenSSH 已启用)

# 同样先设权限(PowerShell中)
icacls "C:pathtomy-key.pem" /inheritance:r /grant:r "$env:USERNAME:(R)"

# 然后连接(注意路径用正斜杠或双反斜杠)
ssh -i C:/path/to/my-key.pem ubuntu@47.98.xxx.xxx

⚠️ 常见报错解决:

  • Permission denied (publickey) → 检查用户名(Ubuntu=ubuntu, CentOS=centos, Alibaba Cloud Linux=root)、私钥路径、权限 chmod 400、是否选对密钥对。
  • Connection refused → 检查安全组是否放行 22 端口(SSH)(控制台 → ECS → 实例 → 安全组 → 配置规则 → 入方向添加:端口 22,授权对象 0.0.0.0/0 或你的IP)
  • Network is unreachable → 检查实例是否运行中、有公网IP、网络类型(经典网络已逐步淘汰,推荐 VPC)

🔹 第三步:登录后基础操作(新手必学5条命令)

命令 作用 示例
pwd 查看当前所在目录 pwd/home/ubuntu
ls -la 列出文件(含隐藏文件) ls -la /etc
sudo apt update && sudo apt upgrade -y (Ubuntu)更新软件包 sudo 表示“以管理员权限执行”
sudo yum update -y (CentOS 7)更新系统 CentOS 8+ 推荐 dnf update -y
hostnamectl 查看系统信息(OS、内核、主机名) hostnamectl

💡 小技巧:

  • 输入命令前加 sudo 可提升权限(如修改系统文件需此)
  • 键可调出上一条命令,避免重复输入
  • man ls 可查看 ls 命令详细帮助(按 q 退出)
  • clear 清屏;exitCtrl+D 退出 SSH 连接

🔹 第四步:(可选但强烈建议)安全加固第一步

# 1. 创建新普通用户(避免长期用默认用户或 root)
sudo adduser myuser
sudo usermod -aG sudo myuser   # Ubuntu 加入 sudo 组(CentOS 用 wheel 组:`usermod -aG wheel myuser`)

# 2. 切换到新用户(验证)
su - myuser

# 3. ❗禁用 root 密码登录(仅保留密钥)→ 编辑 SSH 配置
sudo nano /etc/ssh/sshd_config
# 找到并修改两行:
# PermitRootLogin no          ← 改为 no
# PasswordAuthentication no   ← 改为 no(确保你已确认密钥登录正常!)
# 保存后重启 SSH:
sudo systemctl restart sshd   # Ubuntu/Debian
# 或
sudo systemctl restart ssh    # CentOS/Alibaba Cloud Linux

🔐 注意:务必先用新用户测试登录成功,再禁用 root,否则可能锁死!


🔹 第五步:上传/下载文件(实用技能)

  • ✅ 使用 scp(命令行,跨平台):
    
    # 从本地上传文件到服务器
    scp -i my-key.pem ./hello.txt ubuntu@47.98.xxx.xxx:/home/ubuntu/

从服务器下载文件到本地

scp -i my-key.pem ubuntu@47.98.xxx.xxx:/home/ubuntu/log.txt ./



- ✅ 图形化工具(Windows/macOS):  
  - [WinSCP](https://winscp.net/)(Windows)  
  - [Cyberduck](https://cyberduck.io/)(macOS/Windows)  
  → 选择 SFTP 协议,填入 IP、用户名、私钥路径即可拖拽传文件。

---

✅ 新手避坑清单(高频问题):
| 问题 | 原因 | 解决 |
|------|------|------|
| 登录不了 | 安全组没开 22 端口 | 控制台 → 安全组 → 添加入方向规则:端口 `22`,协议 `TCP`,授权对象 `0.0.0.0/0`(测试用)或你的公网IP |
| `sudo: command not found` | 用户不在 sudo/wheel 组 | `su -` 切 root 后执行 `usermod -aG sudo username` |
| 中文乱码 | 终端编码非 UTF-8 | Windows Terminal / PuTTY 设置字符集为 UTF-8;Linux 服务器执行 `locale-gen zh_CN.UTF-8 && localeconfig -s zh_CN.UTF-8` |
| 磁盘满、无法写入 | `df -h` 查看磁盘使用率 | `du -sh /var/log/* | sort -hr | head -10` 找大日志,用 `journalctl --disk-usage` 清理旧日志 |

---

🎯 下一步学习建议(进阶):
- 📦 安装 Nginx/Apache 搭建网站  
- 🐳 学习 Docker 快速部署应用  
- 🔐 配置防火墙(`ufw` 或 `firewalld`)  
- 📊 使用 `htop`、`nmon` 监控资源  
- ☁️ 备份:用 `rsync` 或阿里云快照自动备份  

需要我为你生成一份 **一键初始化脚本**(自动更新、创建用户、禁用密码登录、安装常用工具),或指导你 **部署一个静态网站/Nginx/Python Web 应用**,欢迎随时告诉我 👍

祝你云上探索顺利!🚀