SGBH6AXS / notesZhang Shuai's Personal Blog

交接文档

This post is only available in Chinese for now.

MMC-Sale-01 服务器交接说明

交接对象:客户 交付日期:2026-10-19 交付方:运维(下称"我方")


一、服务器基本信息

项目 内容
服务器名称 MMC-Sale-01
登录主机名 MMC-Sale-01(登录后 hostname 显示此名)
操作系统 Ubuntu 24.04.5 LTS (Noble Numbat),64 位
规格 2 vCPU / 4 GiB 内存 / 1 GiB SWAP / 128 GiB 系统盘(磁盘为稀疏分配,用多少占多少)
虚拟化 KVM 虚拟机,宿主机为物理服务器
虚机内网 IP 192.168.122.9(宿主机 DHCP 固定保留,不会变动)
对外访问地址 103.91.208.216 + 指定端口(见第二节)
时区 UTC(如需改为北京时间,见第六节第 5 条)
预装软件 无业务软件。仅装系统组件 + qemu-guest-agent(请勿卸载)

二、对外开放的端口

对外统一使用宿主机 IP 103.91.208.216,端口与虚机内端口一一对应:

宿主机地址 协议 转发到虚机 用途
103.91.208.216:30006 TCP 192.168.122.9:22 SSH 远程登录(管理用)
103.91.208.216:30000 TCP 192.168.122.9:30000 业务端口 1
103.91.208.216:30001 TCP 192.168.122.9:30001 业务端口 2
103.91.208.216:30002 TCP 192.168.122.9:30002 业务端口 3
103.91.208.216:30003 TCP 192.168.122.9:30003 业务端口 4
103.91.208.216:30004 TCP 192.168.122.9:30004 业务端口 5
103.91.208.216:30005 TCP 192.168.122.9:30005 业务端口 6

端口使用说明

  1. 30000-30005 目前是空的:虚机内还没有任何程序监听这几个端口。您只要把自己的应用监听在虚机内的 0.0.0.0:30000 ~ 0.0.0.0:30005(或其中任意一个),外部就能通过 103.91.208.216:30000 ~ 103.91.208.216:30005 直接访问。
    • 例:在虚机里启动一个 Web 服务监听 30000 端口 → 浏览器打开 http://103.91.208.216:30000/ 即可。
  2. 只开放了 TCP。如果您的应用必须用 UDP(如部分游戏服务、实时音视频),请提前告知,我们再加 UDP 转发规则。
  3. 请确保程序监听 0.0.0.0 而不是 127.0.0.1。只听 127.0.0.1 的服务外部永远访问不到。
  4. 除以上 7 个端口外,没有开放其它端口。虚机内即使监听了别的端口,外部也访问不到。需要增加端口请联系我方(可以随时加,几分钟生效)。
  5. SSH 端口对外是 30006(不是 22)。虚机内部仍然是标准 22 端口。

三、如何登录服务器

3.1 登录凭据

项目 值
登录用户 ubuntu
登录方式 仅 SSH 密钥认证(已禁止密码登录,也禁止 root 直接登录)
私钥文件 MMC-Sale-01(我方单独提供,请妥善保管)
提权 ubuntu 用户配置了免密码 sudo,用 sudo <命令> 或 sudo -i 切换到 root
登录地址 103.91.208.216,端口 30006

⚠️ 私钥文件等同密码,不要通过微信/邮件明文发送,不要放到公共网盘。建议加密压缩后再传递,或使用一次性链接。

3.2 Windows 登录方法

把私钥文件 MMC-Sale-01 放到 C:\Users\<你的用户名>\.ssh\ 目录下(没有就新建)。

方法一:命令行(推荐,Windows 10/11 自带 OpenSSH)

打开 PowerShell 或 CMD,执行:

ssh -i C:\Users\<你的用户名>\.ssh\MMC-Sale-01 -p 30006 ubuntu@103.91.208.216

如果提示私钥权限太开放(UNPROTECTED PRIVATE KEY FILE),执行一次下面的命令修正权限:

icacls C:\Users\<你的用户名>\.ssh\MMC-Sale-01 /inheritance:r /grant:r "%USERNAME%:R"

方法二:图形化工具(Xshell / FinalShell / MobaXterm)

  • 主机:103.91.208.216
  • 端口:30006
  • 用户名:ubuntu
  • 认证方式:Public Key / 公钥
  • 密钥文件:选择 MMC-Sale-01

方法三:PuTTY

PuTTY 不能直接读 OpenSSH 格式私钥,需先用 PuTTYgen → Conversions → Import key 导入 MMC-Sale-01,再 Save private key 生成 .ppk 文件,然后在 PuTTY 里填写主机 103.91.208.216、端口 30006、用户名 ubuntu,并在 Connection → SSH → Auth 里选择该 .ppk。

3.3 Linux / macOS 登录方法

# 1) 保存私钥并收紧权限(必须,否则 ssh 会拒绝使用)
mkdir -p ~/.ssh && mv MMC-Sale-01 ~/.ssh/MMC-Sale-01
chmod 600 ~/.ssh/MMC-Sale-01

# 2) 登录
ssh -i ~/.ssh/MMC-Sale-01 -p 30006 ubuntu@103.91.208.216

可选:写进 ~/.ssh/config 后就能直接 ssh MMC-Sale-01:

Host MMC-Sale-01
    HostName 103.91.208.216
    Port 30006
    User ubuntu
    IdentityFile ~/.ssh/MMC-Sale-01
    IdentitiesOnly yes

3.4 首次登录时核对主机指纹

第一次连接会提示 Are you sure you want to continue connecting (yes/no)?,请核对指纹是否与下面一致,一致再输入 yes:

ED25519 : SHA256:WLK2b7naAslhIlm02IEeYF4wup4ggY8SvYjUo9rWeLA
RSA     : SHA256:W1o8RzQI3OmXqGpFr/JS/oXcof7OSrk2topjLYdJ8m0
ECDSA   : SHA256:44BZ7GoV04fswfCE4PQfdG0hWF7XhJVIl79qejd2hJs

3.5 登录后示例操作

hostname                    # 显示 MMC-Sale-01
sudo -i                     # 切换到 root(免密)
sudo apt update             # 更新软件包索引(走清华源,速度很快)
nc -l 30000                 # 临时测试 30000 端口是否通(外部 telnet 该端口)
sudo reboot                 # 重启虚机(可自行执行,约 30 秒后恢复)

3.6 如需更换 / 增加密钥

# 在虚机内把新的公钥追加进去(每行一个公钥)
nano ~/.ssh/authorized_keys

如需撤销当前密钥或改用密码登录,请联系我方(涉及安全策略调整)。请自行备份私钥,私钥丢失我方无法找回,只能重新下发新密钥。


四、镜像源(软件源)改动说明

为提升国内下载速度,系统软件源已从 Ubuntu 官方源切换为清华大学 TUNA 镜像源:

项目 改动前 改动后
镜像地址 http://archive.ubuntu.com/ubuntuhttp://security.ubuntu.com/ubuntu https://mirrors.tuna.tsinghua.edu.cn/ubuntu
协议 HTTP HTTPS
覆盖版本 — noble、noble-updates、noble-backports、noble-security
软件组件 — main、restricted、universe、multiverse(全组件)

涉及文件:

  • 当前源配置:/etc/apt/sources.list.d/ubuntu.sources(Ubuntu 24.04 使用 deb822 格式)
  • 官方源备份:/etc/apt/sources.list.d/ubuntu.sources.bak(如需还原:sudo cp /etc/apt/sources.list.d/ubuntu.sources.bak /etc/apt/sources.list.d/ubuntu.sources)
  • 额外增加 apt 网络容错配置:/etc/apt/apt.conf.d/99-timeout-retries(失败重试 3 次、超时 30 秒)

实测效果: sudo apt update 拉取 40.7 MB 索引耗时约 4 秒(≈9.5 MB/s)。

说明:

  • 以上配置通过 cloud-init 的 apt 模块 + preserve_sources_list: true 固化,重启不会被覆盖。
  • pip / npm / Docker 的镜像源未做改动(虚机内未安装 Docker)。若您需要,可以再帮您配置 pip(清华 PyPI 镜像)、npm(npmmirror)等。
  • 若您自己的业务要求用官方源或其它源,可直接编辑上述文件,改动不会被系统回滚。

五、我方已完成/未完成的事项

已完成:

  1. 创建 Ubuntu 24.04 虚拟机(2 核 / 4 GiB / 1 GiB SWAP / 128 GiB 磁盘),主机名 MMC-Sale-01。
  2. 创建管理账号 ubuntu(免密 sudo),配置 SSH 密钥登录,禁用密码登录与 root 直登。
  3. 配置 1 GiB SWAP 并写入 /etc/fstab(重启后依然生效)。
  4. 安装 qemu-guest-agent 并设为开机自启(宿主侧监控/管理需要)。
  5. 切换为清华镜像源(见第四节)。
  6. 配置虚机开机自动启动(宿主机重启后虚机会自动恢复运行)。
  7. 配置 7 个端口转发(30000-30006,见第二节),并做了规则自愈保护(宿主机防火墙重载后 1 分钟内自动恢复)。
  8. 下发 SSH 私钥 MMC-Sale-01。

未包含(需您自行处理,或另行委托):

  1. 业务应用部署(Web / 数据库 / 中间件等)——虚机目前是"干净系统"。
  2. 数据自动备份——宿主侧未对虚机做定期备份,重要数据请自行备份或联系我们增加备份方案。
  3. 站点 HTTPS 证书、域名解析、反向代理。
  4. 安全加固(fail2ban、登录告警等)。

六、日常运维提示

  1. 查看资源占用

    free -h            # 内存与 swap
    df -h              # 磁盘
    top / htop         # 进程
    ss -lntp           # 当前监听端口(看服务有没有起来)
    
  2. 查看磁盘剩余:系统盘 128 GiB(稀疏分配),df -h / 的 Avail 即剩余空间。

  3. 重启虚机:sudo reboot(可自行执行)。不要尝试关机(sudo poweroff)后指望自己开机——虚机开关机由宿主机控制,关机后请联系我方开机(正常重启不受影响)。

  4. 防火墙:虚机内 ufw 默认未启用,端口由宿主机统一转发控制。请不要在虚机内改动网络配置(IP、网卡、路由),那会导致端口转发失效。如需开启虚机内防火墙,请先与我们确认。

  5. 改时区为北京时间(可选):

    sudo timedatectl set-timezone Asia/Shanghai
    date
    
  6. 增加开放端口:在虚机内起服务后,把端口号告知我方,我们在宿主机加一条转发(如 30007 → 虚机 30007);若您想自行改成别的映射关系(如 30007 → 虚机 8080)也可以。

  7. 查看系统日志排错:

    sudo journalctl -u <服务名> -f     # 某个服务
    sudo journalctl -xe                # 系统最近错误
    sudo tail -f /var/log/syslog
    

七、常见问题排查

现象 可能原因与处理
Connection timed out 网络不通。先 ping 103.91.208.216;再用 nc -vz 103.91.208.216 30006 测端口。都不通请联系我方。
Permission denied (publickey) ① 私钥路径写错 / 没加 -i;② Linux/macOS 下私钥权限不是 600;③ Windows 下未用 icacls 修正权限;④ 误用了 MMC-Sale-01.pub 公钥文件(登录要用私钥 MMC-Sale-01)。
REMOTE HOST IDENTIFICATION HAS CHANGED 服务器主机密钥变了(通常意味着虚机被重装)。若我方未通知重装,请先联系我们核对指纹,确认无误后再执行 ssh-keygen -R "[103.91.208.216]:30006" 清除旧记录重连。
业务端口(30000 等)浏览器打不开 ① 虚机内服务没起来:ss -lntp 确认在监听;② 服务只听 127.0.0.1:改成 0.0.0.0;③ 该端口不在开放列表中:联系我方加。
sudo 提示要密码 正常情况 ubuntu 用户是免密 sudo。如需密码说明配置被改动,请联系我方。
磁盘满了 用 `sudo du -xh -d1 /

八、责任边界

  1. 我方负责:虚机运行、宿主机及网络转发、系统基础环境(系统、源、SWAP、开机自启、端口映射)。
  2. 客户负责:虚机内的业务软件安装、配置、数据、安全加固与备份策略。
  3. 我方未对虚机做自动备份,因客户操作导致的数据丢失我方不承担责任,建议客户自行做好数据备份。
  4. 如需我方协助安装业务环境(Docker / Nginx / 数据库 / Node / Python 等)或调整规格(CPU、内存、磁盘、增加端口),可另行提出。

联系方式:(请在此处填写交付方联系方式) 私钥文件名: MMC-Sale-01(请与本文档分开保管)

Comments

No comments yet — be the first.

Comments are moderated. Plain text only.