新服务器别急着装面板:先用这8项检查确认端口、SSH和回退通道

3次阅读
没有评论
摘要:一台新 VPS 能登录,不代表已经适合上线。先记录系统基线,核对监听端口、更新、管理用户、SSH 生效配置、防火墙、时间、备份和监控,并保留控制台与旧会话作为回退通道。

一台刚开通的 VPS,通常已经允许 root 和密码登录。此时安装 Docker、面板和网站很快,但你还不知道三个关键情况:

  • 系统现在开放了哪些端口;
  • SSH 和防火墙改错后,能不能重新进去;
  • 服务器出故障时,哪些数据可以恢复。

下面这 8 项检查不会把服务器变成“绝对安全”。它们能留下部署前基线,收紧不需要的入口,并验证登录和恢复路径。

本文以 Ubuntu、Debian 和 RHEL 系发行版为例。旧服务器或正在承载业务的机器,需要先评估影响和维护窗口,不能照着新服务器流程批量执行。

新服务器别急着装面板:先用这8项检查确认端口、SSH和回退通道
1. 修改配置前,先确认回退通道

先登录云厂商控制台,找到:

  • Web 控制台、VNC 或串口登录;
  • 救援模式和重置密码入口;
  • 快照、备份和重装入口;
  • 当前安全组规则。

保持现有 SSH 会话在线。后面修改 SSH 或防火墙时,再打开第二个会话测试。新会话没有验证成功之前,不退出旧会话。

如果服务器只有 SSH,没有控制台或救援入口,先不要关闭密码登录,也不要一次修改 SSH 端口、防火墙和用户权限。

2. 记录系统、资源和监听端口

先执行一组只读命令:

bash
cat /etc/os-release
uname -r
df -hT
df -ih
free -h
ip -br addr
ss -lntup
systemctl --failed

这些结果分别回答:

  • 使用哪个发行版和内核;
  • 根分区、数据盘和 inode 是否充足;
  • 当前内存和 Swap 状态;
  • 网卡拿到了哪些地址;
  • 哪些 TCP、UDP 端口正在监听;
  • 是否已有启动失败的服务。

ss -lntup 值得逐行看:

  • `127.0.0.1:端口` 通常只接受本机访问;
  • `0.0.0.0:端口` 表示监听全部 IPv4 接口;
  • `[::]:端口` 表示监听 IPv6,部分程序也会同时接收 IPv4;
  • 数据库、管理面板或未知程序监听公网接口时,先确认是否真的需要。

发现陌生进程后,可以继续查:

bash
systemctl status 服务名
ps -fp 进程PID

不要看到陌生端口就直接结束进程。先确认它由谁启动、是否属于云厂商组件或现有业务。

3. 安装更新,但先看升级内容

Ubuntu 或 Debian:

bash
sudo apt update
apt list --upgradable
sudo apt upgrade

RHEL、Rocky Linux 或 AlmaLinux:

bash
sudo dnf check-update
sudo dnf upgrade

先看待升级列表。内核、OpenSSH、数据库、容器运行时等组件升级后,可能需要重启或重新验证服务。

Ubuntu、Debian 可以检查是否提示重启:

bash
test -f /var/run/reboot-required && cat /var/run/reboot-required

生产服务器需要安排维护窗口。新服务器可以在安装应用前完成重启,再重新检查内核、监听端口和失败服务。

4. 创建日常管理用户

Ubuntu 或 Debian:

bash
sudo adduser deploy
sudo usermod -aG sudo deploy

RHEL 系:

bash
sudo useradd -m deploy
sudo passwd deploy
sudo usermod -aG wheel deploy

检查用户和权限:

bash
id deploy
su - deploy
sudo whoami
sudo -l

sudo whoami 输出 root,说明 sudo 能执行。它不代表 SSH 密钥、远程登录和回退路径已经可用,后面还要单独测试。

5. SSH 要检查“生效配置”

在自己的电脑生成并上传密钥:

bash
ssh-keygen -t ed25519
ssh-copy-id deploy@服务器地址

使用 deploy 用户和密钥打开第二个 SSH 会话。确认登录和 sudo 都正常,再准备调整 SSH。

Ubuntu 可以在 /etc/ssh/sshd_config.d/ 中保存自定义配置。常见设置包括:

text
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no

配置文件写了什么,不等于服务最终采用了什么。先检查语法和生效值:

bash
sudo sshd -t
sudo sshd -T | grep -E 'permitrootlogin|passwordauthentication|pubkeyauthentication|port'

sshd -t 没有输出,通常表示语法检查通过。sshd -T 会展示合并后的实际配置,可用于发现主配置和 sshd_config.d 片段之间的覆盖关系。

确认无误后,按系统实际服务名重载 SSH。继续保留旧会话,并再次建立新连接。

新服务器别急着装面板:先用这8项检查确认端口、SSH和回退通道
6. 云安全组和系统防火墙要一起验证

公网请求通常要经过两层入口:

text
云厂商安全组
    ↓
服务器系统防火墙

Ubuntu 常用 UFW。启用前先放行当前 SSH 端口:

bash
sudo ufw allow 22/tcp
sudo ufw status verbose
sudo ufw enable

RHEL 系常用 firewalld:

bash
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh
sudo firewall-cmd --runtime-to-permanent
sudo firewall-cmd --list-all

如果 SSH 使用的不是 22 端口,命令和安全组都要换成实际端口。RHEL 系还可能涉及 SELinux 端口策略。

防火墙显示“已放行”后,还要从服务器外部验证。

Windows:

powershell
Test-NetConnection 服务器地址 -Port 22

macOS 或 Linux:

bash
nc -vz 服务器地址 22

外部测试成功,才能证明安全组、系统防火墙和服务监听同时匹配。数据库和管理后台没有公网访问需求时,不要开放给 0.0.0.0/0。

7. 检查时间,并做一次恢复测试

先看时间状态:

bash
timedatectl status
timedatectl show -p NTPSynchronized --value

日志、证书、令牌和定时任务都依赖系统时间。单地区业务可以使用 Asia/Shanghai,跨地区服务器也可以统一 UTC。团队需要明确日志使用哪个时区。

备份至少覆盖:

  • 应用配置和环境变量;
  • 数据库、上传文件和持久化目录;
  • 容器编排文件与挂载关系;
  • SSH、防火墙和定时任务配置。

云快照适合快速回滚,但不应是唯一副本。部署前选一个文件或测试数据库,完成一次恢复。备份任务显示“成功”,只能证明任务运行过,恢复成功才说明副本可用。

8. 部署应用前留下最小监控

上线前再检查一次:

bash
systemctl --failed
journalctl -p warning -b --no-pager | tail -n 50
df -hT
df -ih
free -h
ss -lntup

至少要关注:

  • 磁盘空间和 inode;
  • OOM、服务失败和异常重启;
  • 对外监听端口;
  • SSH 登录失败和异常账户;
  • 证书到期时间;
  • 备份最近一次成功时间和恢复抽查时间。
新服务器别急着装面板:先用这8项检查确认端口、SSH和回退通道
上线前用这张表复核
检查项
可以继续部署的状态
需要停下来处理
回退入口
控制台、救援模式或旧会话可用
只剩一个 SSH 会话
系统基线
系统、磁盘、内存和 IP 已记录
根分区异常、inode 接近耗尽
监听端口
每个公网监听端口都有用途
数据库、面板或未知端口暴露
管理用户
新用户可登录并使用 sudo
仍只依赖 root 密码
SSH
sshd -t

 通过,新会话已验证
配置已改但未测试
防火墙
安全组、系统规则和外部测试一致
只看其中一层
备份
已完成一次恢复抽查
只有快照或从未恢复
监控
能发现磁盘、服务和登录异常
出问题后只能人工登录查看

本文相关命令基于Ubuntu Server、OpenSSH、UFW、Red Hat Enterprise Linux 9、firewalld。系统版本和云厂商不同,执行前以当前环境为准。

正文完
 0
Ticifer
版权声明:本站原创文章,由 Ticifer 于2026-08-03发表,共计3279字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)