1. 购买与资源预估
- 步骤:选择有香港节点的低价VPS供应商,确认账单周期(按月或按年)和带宽限制;最好能选择KVM或XEN虚拟化。
- 建议规格:最小配置 1 vCPU + 512MB-1GB 内存 + 10GB SSD;如果要运行桌面或code-server,建议1GB以上。2美元/月常见是极限方案,要注意性能与并发限制。
- 小提醒:先选月付,验收稳定后再转年付;确认是否支持快照或自动备份。
2. 初始登录与系统更新
- 登录:拿到IP后,用提供的root凭证或控制台登录。推荐使用本地电脑的终端 ssh root@IP。
- 更新系统(以Ubuntu为例):运行 apt update && apt upgrade -y。设置时区:timedatectl set-timezone Asia/Hong_Kong。
- 创建普通管理员用户:adduser youruser && usermod -aG sudo youruser。
3. 安全加固:SSH 密钥与禁止密码登录
- 本地生成密钥:ssh-keygen -t ed25519 -C "you@example.com"(或 rsa ),然后将公钥复制到 VPS:ssh-copy-id -i ~/.ssh/id_ed25519.pub youruser@IP。
- 修改 SSH 配置:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no、PasswordAuthentication no、PermitEmptyPasswords no,并可更改 Port 为非22端口如 22022。保存后重启 sshd:systemctl restart sshd。
- 测试:在更改端口或禁密码前开启另一个终端验证新用户可登录,避免锁死自己。
4. 防火墙与入侵防护
- 使用 UFW(简单):apt install ufw -y;开启基本规则:ufw allow 22022/tcp(替换为你的SSH端口);ufw allow 51820/udp(若使用WireGuard);ufw enable。
- 安装 fail2ban:apt install fail2ban -y,启动并用默认配置保护 SSH。可在 /etc/fail2ban/jail.local 添加自定义规则。
- 监控登录与异常:查看 /var/log/auth.log,设置 fail2ban 针对常见攻击调整 ban 时间。
5. 部署 WireGuard 作为远程访问 VPN
- 安装:apt install wireguard -y(Ubuntu 20.04+自带模块)。
- 生成密钥(服务器):wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key。客户端同理。
- 示例 /etc/wireguard/wg0.conf(简化):
[Interface]
Address = 10.9.0.1/24
ListenPort = 51820
PrivateKey = <服务器私钥>
[Peer]
PublicKey = <客户端公钥>
AllowedIPs = 10.9.0.2/32
- 启动并设置开机:systemctl enable wg-quick@wg0 && systemctl start wg-quick@wg0。
- 在本地设备安装 WireGuard 客户端,导入配置文件即可安全访问内网服务。
6. 远程办公软件:code-server 与远程桌面
- code-server(VS Code Web版)安装(官方脚本或 apt 仓库):curl -fsSL https://code-server.dev/install.sh | sh。生成用户密码或绑定反向代理和 HTTPS。
- xrdp 图形桌面(需桌面环境,如XFCE):apt install xfce4 xfce4-goodies xrdp -y;systemctl enable xrdp。使用 UFW 仅允许你的管理IP或通过 VPN 访问 RDP 端口(3389)。
- 推荐方式:把 code-server 放在 WireGuard 后面或通过 HTTPS+认证暴露,避免直接把桌面端口暴露到公网。
7. TLS 与域名(若需要对外服务)
- 申请域名并在 DNS 指向 VPS IP。安装 certbot:apt install certbot -y。对 code-server 或 Nginx 反向代理使用 certbot --nginx 获取 Let’s Encrypt 证书。
- Nginx 反向代理示例:将 127.0.0.1:8080(code-server)反向代理到域名,并强制 HTTPS。证书自动续期通过 systemd timer 或 cron 实现。
8. 自动更新与备份策略
- 自动安全更新:apt install unattended-upgrades -y,配置 /etc/apt/apt.conf.d/50unattended-upgrades 启用安全更新。
- 备份:利用供应商快照作为首选,或定时 rsync 到另一台主机/对象存储。示例脚本(每日备份)可用 crontab 实现:0 3 * * * /usr/bin/rsync -azh --delete /home/ your_backup@backupserver:/vps_backups/。
- 验证恢复:定期做快照恢复演练,确保备份有效。
9. 性能调优与监控
- 开启 BBR:编辑 /etc/sysctl.conf 添加 net.core.default_qdisc=fq 和 net.ipv4.tcp_congestion_control=bbr,然后 sysctl -p。检查 lsmod | grep bbr 或 sysctl net.ipv4.tcp_available_congestion_control。
- 监控:安装 netdata 或 htop、glances,实时查看 CPU/内存/带宽使用。小 VPS 内存紧张,建议启用 1G swap(fallocate -l 1G /swapfile; chmod 600; mkswap; swapon)并在 /etc/fstab 持久化。
- 日志清理:配置 logrotate 防止磁盘耗尽。
10. 日常运维与应急步骤
- 检查服务状态:systemctl status sshd wg-quick@wg0 nginx code-server。
- 如果无法远程登录:使用供应商控制台/Serial Console 进入,检查 /var/log/syslog、网络配置和防火墙规则。
- 定期更换密钥与密码策略,删除不再使用的用户。
11. 节约成本与注意事项
- 以安全为前提:2美元VPS适合轻量远程办公(编辑、SSH、轻量IDE);若需多人并发或音视频会议,建议升级。
- 带宽与流量:关注带宽峰值和流量计费,避免超过套餐产生高额费用。
- 法律与合规:确认业务在香港节点的合规要求(隐私、数据存储等)。
12. 常见问答一(问)
问:2美元的香港VPS能稳定运行WireGuard + code-server吗?
答:能在轻量场景下运行:单用户通过WireGuard连接、使用code-server编码或远程管理通常没问题。但若并发多人、运行桌面或大量编译/数据库,会受限于CPU与内存,建议升级到更高配置。
13. 常见问答二(问)
问:如果不熟悉Linux,有没有更简单的远程办公替代方案?
答:可以考虑云IDE(如Gitpod、GitHub Codespaces)、按需付费的远程桌面服务或购买带托管面板的VPS(控制面板内置备份与一键部署),但成本通常高于自行管理的VPS。
14. 常见问答三(问)
问:如何确保万一VPS被攻破时数据最小化风险?
答:最小化风险方法包括:仅开放必要端口、使用密钥认证、定期备份到异地、加密敏感数据(如使用 LUKS 或在应用层加密)、设置入侵检测与及时恢复流程。
来源:教你用香港vps 2美元实现安全稳定的远程办公环境