如何自建物理机架设VPS服务器?

一、准备工作
1. 硬件要求
CPU:支持 Intel VT-x / AMD-V(BIOS 必须开启)
内存:≥8GB(想开多台 VPS 建议 16GB 以上)
硬盘:SSD 优先
网卡:千兆
网络:有公网 IP
2. 软件
Proxmox VE 镜像(免费)
U 盘启动盘工具(Rufus / Ventoy)
二、安装 Proxmox VE
1. 制作安装 U 盘
下载 PVE ISO:https://www.proxmox.com/en/downloads
用 Rufus 写入 U 盘
2. 物理机从 U 盘启动
开机按启动项选择(F2/F11/F12 )
选择 Install Proxmox VE
3. 安装步骤
选择硬盘 → 下一步
国家 / 时区:China → 下一步
设置 root 密码 + 邮箱
网络配置:
Management IP:设一个内网静态 IP(例如:192.168.1.100)
Gateway:路由器 IP
DNS:223.5.5.5
等待安装完成 → 重启 → 拔 U 盘
4. 进入 PVE 后台
浏览器打开:https://192.168.1.100:8006账号:root密码:你设置的
三、PVE 基础配置
1. 配置软件源
Datacenter → 节点 → Shell执行以下命令:
sed-i's|deb https://enterprise.proxmox.com|# deb https://enterprise.proxmox.com|g' /etc/apt/sources.list.d/pve-enterprise.list
echo"deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription"> /etc/apt/sources.list.d/pve-no-subscription.list
apt update &&apt upgrade -y
2. 关闭订阅提示
sed-i's/NotFound/Active/g' /usr/share/perl5/PVE/API2/Subscription.pm
systemctl restart pveproxy.service
四、创建第一台 VPS
1. 上传系统 ISO
左侧 → 节点 → local → ISO Images → Upload上传:
Debian / Ubuntu / Windows ISO
2. 创建虚拟机
右上角 Create VM
General:填名字
OS:选择你上传的 ISO
System:默认
Disk:分配硬盘(20GB+)
CPU:1-2 核
Memory:1-2GB
Network:默认 vmbr0
确认 → 完成
3. 安装系统
选中虚拟机 → Start
Console → 正常装系统
装完后,在硬件里卸载 ISO
五、让 VPS 能外网访问
方案 A:家用宽带(只有 1 个公网 IP)
用 端口转发
进入 VPS,查看 VPS 内网 IP
ip a
PVE 节点 → Shell → 配置端口映射示例:把物理机 2222 → VPS 22(SSH)
iptables -t nat -A PREROUTING -p tcp --dport20022-j DNAT --to-destination 192.168.1.101:22
永久保存:
aptinstall iptables-persistent -y
netfilter-persistent save
常用映射示例:
SSH:20022 → 22
远程桌面:13389 → 3389
网站:10080 → 80
方案 B:机房 / 多公网 IP
直接给 VPS 配独立公网 IP,和阿里云 VPS 一样。
六、VPS 常用服务一键安装
进 VPS 执行:
1. 安装 Docker
apt update
aptinstall docker.io docker-compose-y
systemctl enabledocker
2. 安装宝塔面板(可视化)
wget-O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh &&bash install.sh
3. 安装 Nginx
aptinstall nginx -y
七、安全加固(如下说明,接着往下看)
VPS 改 SSH 端口
禁用密码登录,只用密钥
开启防火墙
定期快照备份
一、修改 SSH 端口(核心:避开默认 22 端口,降低暴力破解风险)
操作前提
以 root 用户登录 Proxmox 服务器(物理控制台 / SSH 均可,操作中不要断开当前 SSH 连接,避免端口改完连不上)
确保你选的新端口(比如 2222)没有被其他服务占用
详细步骤
编辑 SSH 配置文件
执行命令打开配置文件:
nano /etc/ssh/sshd_config
修改端口号
找到 #Port 22 这一行,删除开头的 # 注释,把 22 改成你想要的端口(比如 2222),最终变成:Port 2222
注意:端口范围建议选 1024-65535 之间的未被占用端口,避免和常见服务冲突(比如 80/443/8006 等)
保存并退出
按 Ctrl+O 保存,按 Enter 确认文件名,按 Ctrl+X 退出 nano 编辑器
重启 SSH 服务
systemctl restart sshd
验证端口是否生效
先不要关闭当前 SSH 窗口,新开一个终端测试:
ssh root@你的服务器IP -p2222
能正常登录说明端口修改成功;如果失败,回到原窗口改回 22 排查问题。
二、禁用密码登录,仅用密钥登录(核心:杜绝密码暴力破解)
第一步:在本地电脑生成 SSH 密钥对(Windows/Mac/Linux 通用)
本地生成密钥
打开本地终端(Windows 用 PowerShell/CMD,Mac/Linux 用终端),执行:
ssh-keygen -t ed25519 -C"你的备注(比如proxmox-ssh)"
按回车默认保存路径(一般是 ~/.ssh/id_ed25519)
可选:设置密钥密码(推荐,增加一层保护)
上传公钥到服务器
把本地生成的公钥(.pub 文件)传到 Proxmox 服务器:
# 如果你还没改SSH端口,用22;改了就用新端口(比如2222)
ssh-copy-id -p2222 root@你的服务器IP
输入服务器 root 密码,公钥会自动复制到服务器的 /root/.ssh/authorized_keys 文件中。
第二步:服务器端禁用密码登录
再次编辑 SSH 配置文件
nano /etc/ssh/sshd_config
修改以下配置项
找到对应行,修改为如下值(没有就新增):
PasswordAuthentication no # 禁用密码登录
ChallengeResponseAuthentication no # 禁用挑战响应认证
PubkeyAuthentication yes # 启用公钥认证
PermitRootLogin prohibit-password # 允许root仅用密钥登录(禁止密码)
保存并重启 SSH 服务
systemctl restart sshd
验证
新开终端,尝试用密码登录:
ssh root@你的服务器IP -p2222
应该会提示拒绝密码登录,只能用密钥登录才成功。
三、开启防火墙(Proxmox 自带防火墙,简单易用)
方法 1:通过 Proxmox Web 界面配置(推荐,可视化操作)
登录 Proxmox Web 界面(https://服务器IP:8006)
点击左侧节点名称(比如 pve),选择「防火墙」选项卡
启用节点防火墙
勾选「启用防火墙」,点击「应用」
勾选「自动启动」(开机自启防火墙)
配置基础规则(允许 SSH/Proxmox 管理端口)
方向:入站
动作:ACCEPT
协议:TCP
源:可选(比如你的本地 IP,更安全),留空则允许所有
目标端口:你的 SSH 新端口(比如 2222)
方向:入站
动作:ACCEPT
协议:TCP
目标端口:8006
方向:入站
动作:ACCEPT
协议:ICMP
点击「规则」→「添加」,依次添加以下规则:
所有规则添加后,点击「应用」生效。
允许 SSH(新端口):
允许 Proxmox Web 管理:
(可选)允许 ICMP(ping):
方法 2:通过命令行配置(备用)
# 启用 Proxmox 防火墙
pve-firewall enable
# 设置开机自启
systemctl enable pve-firewall
# 查看防火墙状态
pve-firewall status
# 添加 SSH 端口允许规则
echo"IN ACCEPT tcp -- any any any 2222">> /etc/pve/firewall/cluster.fw
# 添加 8006 端口允许规则
echo"IN ACCEPT tcp -- any any any 8006">> /etc/pve/firewall/cluster.fw
# 重启防火墙生效
pve-firewall restart
四、定期快照备份(Proxmox 快照 + 自动备份,防止数据丢失)
1. 手动创建快照(单台虚拟机 / 容器)
登录 Proxmox Web 界面,选中要备份的虚拟机 / 容器(左侧「虚拟机」/「容器」)
点击「快照」→「创建」
填写快照名称(比如 backup-20260211),可选「内存快照」(需要虚拟机支持)
点击「创建」,等待完成即可。
2. 配置自动定期快照 / 备份(核心:自动化,不用手动操作)
Proxmox 推荐用「备份」而非仅快照(快照是增量,备份是完整镜像),步骤如下:
添加备份存储
点击左侧「数据中心」→「存储」→「添加」→ 选择存储类型(比如「目录」,推荐用独立磁盘 / 分区)
填写名称(比如 backup-storage),选择存储路径(比如 /mnt/backup),勾选「备份」,点击「添加」。
创建备份任务
存储:选择刚才添加的 backup-storage
节点:选择要备份的 Proxmox 节点
VM/CT:选择要备份的虚拟机 / 容器(或选「全部」)
计划:设置备份周期(比如每周日 0 点,格式 0 0 * * 0)
保留:设置保留份数(比如保留最近 4 份,避免占满磁盘)
模式:选择「快照」(快)或「暂停」(更完整,无数据丢失)
点击左侧「数据中心」→「备份」→「添加」
配置项:
点击「创建」,任务会自动按计划执行。
验证自动备份
点击「备份」→ 选中创建的任务 → 点击「立即运行」,测试是否能正常备份。
备份完成后,可在「存储」→ backup-storage →「内容」中看到备份文件。
总结
SSH 安全
:改端口(如 2222)+ 禁用密码登录,仅靠密钥认证,彻底杜绝密码暴力破解;
防火墙
:启用 Proxmox 自带防火墙,仅放行 SSH(新端口)和 8006 管理端口,最小化暴露面;
备份
:配置自动定期备份(而非仅手动快照),设置保留份数,确保数据可恢复。
所有操作完成后,建议重启服务器一次,验证所有配置(SSH 登录、防火墙、自动备份任务)是否正常生效,避免配置失效。
本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。



