购买 VPS 后如何完成密钥登录、v2ray 节点搭建与测试

记录一台新 VPS 从 SSH 密钥登录加固,到使用脚本搭建 v2ray 节点,再到性能与线路测试的完整流程。

这篇笔记整理了一台新 VPS 从买来之后到真正可用的完整流程,重点包括三部分:

  1. 把服务器改成仅允许 SSH 密钥登录
  2. 利用脚本快速搭建 v2ray 节点
  3. 对 VPS 本身和节点线路做测试

这样整理之后,后续如果重新买服务器、迁移节点,或者帮别人重复搭建,基本都可以直接照着做。

一、整体流程与核心思路

这套流程的目标不是单纯“把代理跑起来”,而是先把基础安全做好,再去安装节点,最后验证机器质量和线路质量。

完整思路如下:

  1. 购买一台海外 VPS
  2. 使用密码先登录一次服务器
  3. 在本地生成 SSH 密钥,并把公钥写入 VPS
  4. 修改 SSH 配置,只保留密钥登录
  5. 配置防火墙、修改端口、验证登录无误
  6. 使用 v2ray-agent 等脚本安装 v2ray 节点
  7. 视情况安装 BBR 或其他加速组件
  8. 在本地客户端导入节点
  9. 对 VPS 的性能、网络、IP 质量和实际速度做测试

这个顺序很重要。

如果一开始就急着装 v2ray,而没有先把 SSH 登录方式和防火墙整理好,后面很容易出现:

  • 端口改错后把自己锁在门外
  • 服务器仍然允许密码登录,暴露风险较高
  • cloud-init 覆盖了你的 SSH 配置
  • VPS 线路质量不佳,节点搭好也不稳定

所以比较稳的顺序永远是:

1
先加固登录 -> 再部署节点 -> 最后测试效果

二、步骤一:将 VPS 设置为仅允许密钥登录

这一部分的目标是让服务器最终不再接受密码登录,只允许你用本地密钥登录。

1. 本地生成 SSH 密钥

推荐使用 ed25519 算法,它比传统 RSA 更轻、更快,也更适合现在的新机器。

如果你在 Windows 上,可以在命令行中执行:

1
2
mkdir "G:\VPS\.ssh"
ssh-keygen -t ed25519 -a 100 -C "vmrack"

执行过程中,保存路径可以指定为:

1
G:\VPS\.ssh\id_ed25519

生成完成后,你会得到两份文件:

  • id_ed25519:私钥,只保留在本地
  • id_ed25519.pub:公钥,需要放到 VPS 上

2. 将公钥写入 VPS

先用服务器当前允许的方式登录 VPS,一般一开始还是密码登录。

登录后执行:

1
mkdir -p ~/.ssh && chmod 700 ~/.ssh

然后把本地 id_ed25519.pub 里的完整内容追加到服务器的授权文件中:

1
2
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...你的完整公钥... vmrack" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

这里有两个权限必须注意:

  • .ssh 目录应为 700
  • authorized_keys 应为 600

如果权限太宽,SSH 可能直接拒绝读取这份密钥。

3. 先配置防火墙,再改 SSH 端口

很多人会先改端口,结果新端口没放行,下一次就再也连不上。正确顺序应该是先开防火墙规则,再改 SSH 配置。

如果 VPS 是 Debian 12,可以先安装 ufw

1
apt update && apt install ufw -y

假设你想把 SSH 改到 56260 端口,可以先执行:

1
2
3
4
5
6
ufw allow 22/tcp
ufw allow 56260/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status

这里暂时保留 22 端口,是为了防止配置失误时还有回退通道。

4. 修改 SSH 主配置

编辑 SSH 主配置文件:

1
nano /etc/ssh/sshd_config

重点修改下面几项:

1
2
3
Port 56260
PasswordAuthentication no
PermitRootLogin prohibit-password

含义分别是:

  • Port 56260:SSH 改到新端口
  • PasswordAuthentication no:禁止密码登录
  • PermitRootLogin prohibit-password:允许 root 用密钥登录,但禁止 root 密码登录

如果你后续还想进一步加固,也可以把 root 登录完全禁掉,然后改成普通用户 + sudo 的方式。

5. 检查 cloud-init 或子配置是否覆盖了主配置

在 Debian 12 或某些云厂商镜像里,sshd_config 不一定是最终生效文件,/etc/ssh/sshd_config.d/ 里的子配置可能会覆盖它。

先检查:

1
grep -r "PasswordAuthentication" /etc/ssh/sshd_config.d/

如果发现类似 50-cloud-init.conf 中仍然写着:

1
PasswordAuthentication yes

就需要打开并改掉:

1
nano /etc/ssh/sshd_config.d/50-cloud-init.conf

改成:

1
PasswordAuthentication no

然后检查最终生效结果:

1
sshd -T | grep -i passwordauthentication

如果输出是:

1
passwordauthentication no

说明配置最终生效了。

6. 重启 SSH 并验证

重启服务:

1
systemctl restart ssh

这一步最关键的提醒是:

不要关闭当前已经登录着的 SSH 会话。

正确做法是新开一个终端窗口,用新端口和密钥测试登录:

1
ssh -i G:\VPS\.ssh\id_ed25519 -p 56260 root@你的VPS_IP

确认新方式能正常登录后,再删除旧的 22 端口规则:

1
ufw delete allow 22/tcp

7. 这一阶段常见坑

这一步最常见的问题有:

  1. 公钥没写完整,或者写进了错误用户的 authorized_keys
  2. .sshauthorized_keys 权限不对
  3. 改了新端口但忘记在防火墙放行
  4. sshd_config.d 中有覆盖配置
  5. 还没验证新方式可用就关闭旧 SSH 会话

如果你被锁在外面,通常只能通过云厂商控制台或 VNC 救回。

三、步骤二:利用脚本搭建 v2ray 节点

SSH 配置稳定以后,才进入节点搭建阶段。

1. 基本思路

这里的做法不是手动一项一项拼装配置,而是直接使用成熟脚本来完成:

  • 安装 v2ray / xray 内核
  • 自动写配置
  • 自动生成节点信息
  • 提供菜单式管理界面

其中用的比较多的一个脚本是:

这是目前很常见的一类脚本化方案,适合个人 VPS 节点的快速搭建。

2. 安装 v2ray-agent

如果你想直接查看这个脚本对应的说明页面,可以点击这里:

直接执行:

1
wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh" && chmod 700 /root/install.sh && /root/install.sh

执行完成后,脚本会进入菜单式安装界面。

后续按脚本提示完成即可,核心是根据自己的场景选择:

  • 有域名安装
  • 无域名安装
  • 使用哪类协议
  • 是否启用 TLS
  • 是否启用 Reality / WS / gRPC 等方案

你当前记录中更偏向使用:

  • 无域名安装

3. 后续管理入口

安装完成后,可以通过下面的命令再次进入脚本菜单:

1
vasma

这个命令通常用于:

  • 查看当前节点信息
  • 更新脚本
  • 切换协议
  • 重装某个节点方案
  • 查看二维码或订阅信息

4. 可选:安装网络加速脚本

如果你还想在 VPS 上尝试启用 TCP 加速,可以使用下面的脚本:

1
2
3
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh"
chmod +x tcp.sh
./tcp.sh

你原始记录里提到,常见选择是:

  • BBR plus + FQ

不过这里需要实话实说:
加速脚本不是装了就一定“肉眼飞跃”,它更多是对某些特定线路、特定拥塞场景有效。

如果脚本安装过程中出现“是否移除 kernel”之类选项,按你原笔记中的经验,应优先选择:

1
No

5. 本地客户端连接

VPS 节点装好之后,还需要本地客户端导入配置。

Windows 常见客户端例如:

  • v2rayN

使用方式一般是:

  1. 从脚本输出中复制节点链接
  2. 或者扫描二维码
  3. 导入到本地客户端
  4. 打开系统代理或 TUN 模式

如果你是手机端,则可以使用对应平台的客户端,例如:

  • Android 上常见的 v2ray / xray 客户端
  • iOS 上的 Shadowrocket 等

6. 这一阶段要重点关注什么

节点搭建好不代表一定可用,真正重要的是:

  • 协议能否成功连通
  • 延迟是否稳定
  • 速度是否可接受
  • IP 是否干净
  • 是否容易被风控或污染

所以搭完之后,必须进入下一步测试。

四、步骤三:对 VPS 和节点进行测试

这一部分不是可有可无,而是整个流程里很关键的一环。

同样是“搭好了节点”,不同 VPS 的实际体验差异可能非常大,核心原因通常来自:

  • 机器性能
  • 带宽
  • 线路
  • 丢包
  • IP 纯净度

1. 使用 ecs.sh 测试 VPS 综合性能

你原记录中使用的是 spiritLHLS 的融合怪测试脚本:

运行命令:

1
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

后续如果脚本已经下载过,重新进入可以直接:

1
bash ecs.sh

这个脚本通常能比较全面地输出:

  • CPU 信息
  • 内存信息
  • 磁盘性能
  • 网络测试
  • 回程与部分线路表现

适合快速判断 VPS 大体是否值得继续使用。

2. 测试基础网络与实际速度

最直观的方式依然是:

  • 直接用浏览器访问 speedtest.net

你也可以在服务器上使用命令行测速工具,但对个人使用来说,浏览器和本地客户端上的实际体验往往更有参考价值。

推荐测试方式:

  1. 不开代理先测本地网络
  2. 开启节点后再测
  3. 对比延迟、下载速度、网页加载体验和视频播放流畅度

如果开节点后的测速仍然很差,问题通常不一定是脚本安装错了,而更可能是:

  • VPS 线路一般
  • 本地到 VPS 的链路质量不好
  • VPS 出口带宽有限

3. 测试 IP 是否干净

这一点对长期使用非常重要。

很多 VPS 提供商的 IP 早就被滥用过,可能存在:

  • 风控高
  • 被流媒体限制
  • 被社交平台注册风险标记

你原记录里用到的网站是:

这个网站可以用来查看 IP 风险评分。

实际使用时,可以关注:

  • 风险分是否偏高
  • 是否被判定为代理 / VPN / abusive
  • 某些服务是否容易触发验证

4. 测试登录失败来源

如果你已经开放 SSH,并且机器运行了一段时间,可以用下面的命令看看有没有人在爆破你的服务器:

1
sudo lastb

这个命令会列出最近失败的登录记录。
如果你已经改了 SSH 端口,并且禁用了密码登录,通常风险会小很多,但依然建议偶尔检查一次。

5. 如何判断这台 VPS 值不值得继续用

一台适合长期使用的 VPS,通常至少应满足:

  • SSH 延迟可接受
  • 节点协议稳定连通
  • 网页和视频体验稳定
  • 速度在你的使用场景下足够
  • IP 风险不高
  • 不容易被封锁或频繁抽风

如果以下问题长期存在,就要考虑更换厂商或线路:

  • 同样配置但速度明显不如别家
  • 高峰时段严重掉速
  • 丢包明显
  • 某些网站频繁被风控
  • IP 风险评分很高

五、推荐的实际操作顺序

如果从零开始重新做一遍,我建议按下面顺序来:

第一阶段:先做 SSH 安全配置

1
2
3
4
5
6
7
8
9
ssh-keygen -t ed25519 -a 100 -C "vmrack"
mkdir -p ~/.ssh && chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
apt update && apt install ufw -y
ufw allow 22/tcp
ufw allow 56260/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

然后修改:

1
2
/etc/ssh/sshd_config
/etc/ssh/sshd_config.d/50-cloud-init.conf

最后验证:

1
2
sshd -T | grep -i passwordauthentication
systemctl restart ssh

第二阶段:部署 v2ray 节点

1
wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh" && chmod 700 /root/install.sh && /root/install.sh

后续管理:

1
vasma

可选加速:

1
2
3
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh"
chmod +x tcp.sh
./tcp.sh

第三阶段:测试 VPS 与线路

1
2
3
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh
bash ecs.sh
sudo lastb

然后再配合:

  • speedtest.net
  • scamalytics.com

去判断这台 VPS 的实际可用性。

六、常用命令汇总

1. SSH 密钥生成

1
ssh-keygen -t ed25519 -a 100 -C "vmrack"

作用:在本地生成一对更安全的 SSH 密钥。

2. 设置 .ssh 权限

1
2
mkdir -p ~/.ssh && chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

作用:创建并锁定 SSH 授权目录与授权文件。

3. 防火墙放行端口

1
2
3
ufw allow 56260/tcp
ufw allow 80/tcp
ufw allow 443/tcp

作用:放行新 SSH 端口和 Web 常用端口。

4. 检查 SSH 最终生效配置

1
sshd -T | grep -i passwordauthentication

作用:确认密码登录是否真的已经关闭。

5. 重启 SSH 服务

1
systemctl restart ssh

作用:让 SSH 配置重新加载。

6. 安装 v2ray-agent

1
wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh" && chmod 700 /root/install.sh && /root/install.sh

作用:安装并进入 v2ray-agent 脚本。

7. 再次进入 v2ray-agent 菜单

1
vasma

作用:管理节点、查看配置、更新脚本。

8. 安装 TCP 加速脚本

1
2
3
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh"
chmod +x tcp.sh
./tcp.sh

作用:尝试启用 BBR 或相关 TCP 优化。

9. 测试 VPS 综合性能

1
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

作用:测试 VPS 的 CPU、内存、磁盘和网络综合情况。

10. 查看失败登录记录

1
sudo lastb

作用:查看是否存在 SSH 爆破或异常登录尝试。

七、总结

把一台新 VPS 真正变成“可长期使用的自建节点”,核心并不只是装一个代理脚本,而是把三件事都做好:

  1. SSH 入口先加固,做到只允许密钥登录
  2. 节点安装过程尽量脚本化,减少手工出错
  3. 对 VPS 和线路做测试,确认它真的值得长期使用

如果只做第二步,不做第一步和第三步,后面往往会被这些问题反复折腾:

  • 登录方式不安全
  • 配置一改就断连
  • 节点跑起来了但线路很差
  • IP 风险高,长期体验不稳定

所以更稳的顺序永远是:

1
先加固 SSH -> 再安装节点 -> 最后测试 VPS 与线路

把这个流程走顺之后,以后无论你是迁移机器、重复搭建,还是继续优化节点,都会轻松很多。