搬瓦工VPS
Bandwagonhost

搬瓦工 VPS 如何提高 SSH 安全性?端口更换与密钥登录完整教程

新买的搬瓦工 VPS 可以通过 SSH 远程管理。新开通的搬瓦工 VPS 默认使用 22 端口和 root 密码登录,VPS 的 IP 地址和 SSH 端口可以在后台 KiwiVM 面板首页确认。

这种登录方式操作简单,不过 VPS 一旦接入公网,22 端口就可能会不断的收到自动扫描和密码登录尝试。为了减少这类无用连接,同时提高 SSH 登录安全性,我们可以完成下面三项设置:

  • 把默认的 22 端口换成其他端口;
  • 使用 SSH 密钥登录 VPS;
  • 密钥测试成功后,关闭 SSH 密码登录。

本站这次使用 35678 作为示例端口。大家在操作时可以换成其他没有被占用的端口,后面的命令也要填写相同的端口。

一、修改搬瓦工 SSH 配置前的准备工作

修改 SSH 配置最怕的不是命令输错,而是设置还没有测试,就把原来的连接窗口关掉。

因此,开始前先记住下面两点:

  1. 已经登录 VPS 的 SSH 窗口要一直保留;
  2. 密钥没有测试成功前,不能关闭密码登录。

原来的 SSH 窗口相当于一个备用入口。如果新端口无法连接、密钥配置失败或者 SSH 文件写错,我们还可以通过旧窗口恢复配置。

搬瓦工 KiwiVM 面板还提供 Root shell – interactive。这个功能不通过 SSH 端口连接,即使 SSH 设置出了问题,也可以进入 VPS 修改配置。

不过,Root shell – interactive 只是备用入口。正常操作时,仍然要做到改一步、测试一步。

确认当前 SSH 可以登录

修改 SSH 配置前,先使用默认端口登录一次,确认当前连接没有问题。

打开搬瓦工后台,进入 KiwiVM 面板,在首页找到 VPS IP 地址和 SSH 端口。新开通的搬瓦工 VPS 默认使用 22 端口。如果已经忘记 root 密码,可以先在后台 KiwiVM 面板中重新设置。

在本地电脑打开 PowerShell、Windows Terminal、macOS 终端或 Linux 终端,然后输入:

ssh root@你的IP -p 22

例如 VPS 的 IP 地址是 192.0.2.88,连接命令就是:

ssh root@192.0.2.88 -p 22

第一次连接这台 VPS 时,终端会显示服务器指纹确认提示。确认 IP 地址没有输错,然后输入:

yes

接着输入 VPS 的 root 密码。输入密码时,终端不会显示星号或其他字符,这是正常情况,输入完成后按回车即可。

搬瓦工 VPS 使用 PowerShell 通过 22 端口登录 SSH

通过 PowerShell 使用默认 22 端口成功登录搬瓦工 VPS

成功进入 VPS 后,不要关闭当前 SSH 窗口。后面修改端口和密钥时,如果新设置出现问题,还可以通过这个窗口恢复配置。

二、修改搬瓦工 SSH 默认端口

更换 SSH 端口的目的主要是为了避开针对 22 端口的大量自动扫描,它不能代替密钥登录,所以改完端口后,我们还要继续完成后面的密钥设置。

如果您只准备修改 SSH 端口,不需要继续配置密钥登录,也可以参考:搬瓦工 VPS 怎样修改默认端口,里面单独整理了端口修改和连接测试步骤。

1. 备份原来的 SSH 配置

在改文件前,先保存一份原始配置:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

备份文件的位置是:

/etc/ssh/sshd_config.backup

后面如果配置写错,可以用这个文件进行恢复。

2. 确认 35678 端口没有被使用

执行:

ss -lnt | grep ':35678 '

如果没有返回内容,说明目前没有程序监听 35678

如果命令显示了监听信息,就不要使用这个端口,我们可以再换一个端口重新检查。

3. 在 sshd_config 中填写新端口

打开 SSH 配置文件:

vi /etc/ssh/sshd_config

找到:

#Port 22

部分系统显示的是:

Port 22

把它改成:

Port 35678

使用 vi 修改文件时,可以按下面的顺序操作:

  1. i 开始输入;
  2. 修改端口数字;
  3. Esc 结束输入;
  4. 输入 :wq
  5. 按回车保存并退出。

4. 防火墙开启时放行新端口

如果 VPS 没有开启系统防火墙,可以跳过这一部分。

Ubuntu 和 Debian 可以执行:

ufw status

显示下面的结果,说明 UFW 正在运行:

Status: active

放行 35678

ufw allow 35678/tcp

CentOS、AlmaLinux 和 Rocky Linux 可以检查 firewalld:

firewall-cmd --state

如果结果是 running,执行:

firewall-cmd --permanent --add-port=35678/tcp
firewall-cmd --reload

使用 SELinux 的系统还需要检查当前状态:

getenforce

如果显示 Enforcing,执行:

semanage port -a -t ssh_port_t -p tcp 35678

系统找不到 semanage 时,先安装相关工具:

dnf install policycoreutils-python-utils -y

安装完成后,再运行前面的端口命令。

5. 让新的 SSH 配置生效

先检查配置文件有没有格式错误:

sshd -t

如果没有返回任何内容,说明配置格式没有问题。

接着重载 SSH 服务:

systemctl reload sshd 2>/dev/null || systemctl reload ssh

如果 sshd -t 返回错误,不要继续重载服务。可以根据提示修改,也可以先恢复备份:

cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config

6. 不要关旧窗口,先测试新端口

重新打开一个本地终端,使用 35678 端口连接:

ssh root@你的IP -p 35678

能够输入 root 密码并进入 VPS,说明新的端口已经生效。

从现在开始,SSH、SFTP、备份程序和其他远程连接工具,都要填写 35678

确认新端口没有问题后,如果防火墙中曾经单独放行 22,可以删除旧规则。

UFW:

ufw delete allow 22/tcp

firewalld:

firewall-cmd --permanent --remove-port=22/tcp
firewall-cmd --reload

这一步不能提前执行,必须先用新窗口登录成功,再处理旧端口规则。

三、在本地电脑生成 SSH 密钥

端口修改完成后,接下来把登录方式从 root 密码换成 SSH 密钥。

SSH 密钥包括两个文件:

  • id_ed25519 是私钥,只能保存在自己的电脑中;
  • id_ed25519.pub 是公钥,需要添加到 VPS。

私钥和公钥是一套配对文件,服务器保存公钥,本地电脑保存私钥,两边能够对应时才允许登录。

下面的生成命令要在自己的电脑上运行,不是在搬瓦工 VPS 中运行。

执行:

ssh-keygen -t ed25519 -C "bwh-vps-key"

当出现文件保存位置时,按回车使用默认位置。

随后系统会询问是否给私钥设置口令。本站建议设置一个自己能记住的口令,这样私钥文件即使被其他人拿到,也不能马上用于登录。

不准备设置口令时,可以连续按回车跳过,但私钥文件一定要保存好。

Windows 默认保存位置:

C:\Users\你的用户名\.ssh\

macOS 和 Linux 默认保存位置:

~/.ssh/

其中,没有 .pub 后缀的是私钥,不能上传到服务器、网站或者在线面板。

四、把 SSH 公钥添加到搬瓦工 VPS

公钥可以使用工具自动写入,也可以复制后手动添加。

1. 使用 ssh-copy-id 添加公钥

macOS 和 Linux 用户可以在本地电脑执行:

ssh-copy-id -p 35678 root@你的IP

根据提示输入一次 root 密码。完成后,公钥会写入 VPS 的 authorized_keys 文件。

2. 没有 ssh-copy-id 时手动添加

Windows PowerShell 用户可以读取公钥:

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

macOS 和 Linux 用户执行:

cat ~/.ssh/id_ed25519.pub

复制输出的整行内容,Ed25519 公钥一般以 ssh-ed25519 开头。

然后回到搬瓦工 VPS,执行:

mkdir -p /root/.ssh
chmod 700 /root/.ssh
vi /root/.ssh/authorized_keys

i 进入输入状态,把公钥粘贴进去。

一条公钥只能占一行,不能漏掉字符,也不能拆开。粘贴完成后,按 Esc,输入 :wq,再按回车保存。

最后设置文件权限:

chmod 600 /root/.ssh/authorized_keys

SSH 密钥无法使用时,目录和文件权限是需要优先检查的地方:

  • /root/.ssh 使用 700
  • authorized_keys 使用 600

3. 确认现在使用的是密钥登录

保留之前的 SSH 窗口,再新开一个终端:

ssh root@你的IP -p 35678

给私钥设置过口令时,终端可能要求输入私钥口令。

只要没有再要求输入 VPS 的 root 密码,而且可以进入系统,就说明密钥已经生效。

在没有测试成功前,不要进入下一步。

五、关闭搬瓦工 SSH 密码登录

确认 SSH 密钥可以登录后,才可以关闭密码登录。

打开配置文件:

vi /etc/ssh/sshd_config

确认下面四项存在,并填写成以下内容:

PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin prohibit-password

这些设置分别表示:

  • PubkeyAuthentication yes:允许使用 SSH 密钥;
  • PasswordAuthentication no:不再接受普通密码登录;
  • KbdInteractiveAuthentication no:关闭键盘交互认证;
  • PermitRootLogin prohibit-password:root 只能使用密钥登录。

保存文件后检查格式:

sshd -t

没有错误,再重载 SSH:

systemctl reload sshd 2>/dev/null || systemctl reload ssh

重新打开一个终端,测试密钥登录:

ssh root@你的IP -p 35678

能够使用密钥进入 VPS,说明密钥登录正常。

接着执行下面的命令,确认密码登录已经关闭:

sshd -T | grep -E 'passwordauthentication|kbdinteractiveauthentication|permitrootlogin'

输出结果中应包含:

passwordauthentication no
kbdinteractiveauthentication no
permitrootlogin without-password

部分系统可能把最后一项显示为 prohibit-password,两种写法在这里的作用相同。确认这些设置已经生效后,搬瓦工 SSH 密码登录就关闭了。

完成 SSH 设置后,如果还想继续配置 UFW 防火墙和 Fail2ban,可以参考:搬瓦工 VPS 安全加固教程,继续限制端口访问并拦截重复登录尝试。

六、KiwiVM SSH Keys 有什么用

搬瓦工后台的 KiwiVM 面板提供 SSH Keys 管理功能,可以把自己的公钥提前保存到搬瓦工账户中。

这里添加的是:

id_ed25519.pub

不能添加私钥 id_ed25519

当公钥保存在搬瓦工 KiwiVM 面板后,重装 VPS 系统时,可以选择把这个公钥写入新系统。对于经常重装系统的网友来说,这样可以少做一次手动添加公钥的操作。

重装完成后,仍然需要先测试密钥登录,确认可以进入系统后,再关闭密码登录。

七、SSH 设置错误后的恢复方法

修改 SSH 端口或关闭密码登录后,如果新端口无法连接、密钥登录失败,先不要重装 VPS。

进入搬瓦工 KiwiVM 面板,在左侧菜单点击 Root shell – interactive。打开网页终端后,可以继续执行命令检查和恢复 SSH 配置。

如果无法确定是端口、密码、密钥还是 SSH 服务造成的,可以先参考:搬瓦工 SSH 连接不上的原因及解决方法,按照连接提示和报错信息逐项排查。

1. 新端口无法连接

先执行下面的命令,检查 SSH 配置文件有没有写错:

sshd -t

如果命令显示错误,需要先根据提示修改 /etc/ssh/sshd_config。如果没有任何输出,再检查 SSH 是否正在监听 35678 端口:

ss -lntp | grep 35678

如果没有返回内容,说明 SSH 还没有监听这个端口。

继续检查 SSH 服务状态:

systemctl status sshd --no-pager
systemctl status ssh --no-pager

还要确认系统防火墙已经放行 35678。如果使用了 UFW、firewalld 或 SELinux,也要检查对应的端口规则。

如果 VPS 可以正常 Ping 通,但 SSH 一直无法连接,可以参考:搬瓦工 VPS 能 Ping 通但是 SSH 连接不上的解决办法,进一步检查 SSH 服务、端口监听和防火墙规则。

2. 密钥登录提示 Permission denied

出现 Permission denied 时,先重新设置 SSH 目录和公钥文件权限:

chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys

然后打开公钥文件:

vi /root/.ssh/authorized_keys

确认公钥内容完整,一条公钥只能占一行,不能漏掉字符,也不能被拆成多行。

3. 关闭密码后无法登录

如果密钥还没有配置成功,就关闭了密码登录,可以通过 Root shell – interactive 打开 SSH 配置文件:

vi /etc/ssh/sshd_config

找到下面这一项:

PasswordAuthentication no

临时改回:

PasswordAuthentication yes

保存后执行:

sshd -t
systemctl reload sshd 2>/dev/null || systemctl reload ssh

确认密码登录已经恢复后,再检查私钥、公钥、文件权限和 SSH 配置。等密钥可以正常登录,再重新关闭密码登录。

4. 恢复修改前的 SSH 配置

如果不确定哪里写错了,可以先恢复前面备份的配置文件:

cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config
sshd -t
systemctl reload sshd 2>/dev/null || systemctl reload ssh

执行 sshd -t 时没有报错,说明备份配置可以继续使用。恢复完成后,再使用原来的 SSH 端口和登录方式连接 VPS。

八、搬瓦工 SSH 设置常见问题

下面补充几个设置过程中容易遇到的问题。

1. 搬瓦工 SSH 默认端口是多少?

新开通的搬瓦工 VPS 默认 SSH 端口是 22。VPS 的 IP 地址和当前 SSH 端口可以在 KiwiVM 面板首页确认。如果忘记了 root 密码,需要通过后台 KiwiVM 面板重新设置,面板首页不会显示原密码。

2. 只修改 SSH 端口可以吗?

修改端口只能减少针对 22 的自动扫描,不能阻止密码泄露带来的风险。

如果准备长期使用 VPS,建议同时配置密钥并关闭密码登录。

3. 端口数字越大,安全性越高吗?

不是。

只要端口没有被其他程序占用,并且防火墙已经放行,就可以作为新的 SSH 端口,安全性的重点仍然是密钥登录和私钥保管。

4. 换了端口后,连接软件要不要修改?

需要修改。

使用 SSH 端口的程序都要填写 35678,包括 SFTP 软件、自动备份脚本、监控工具和部署程序。

5. 多台电脑能否使用密钥登录?

可以让每台电脑分别生成一套密钥,再把不同的公钥添加到 authorized_keys

一台电脑对应一行公钥,某台电脑不再使用时,只删除它对应的公钥,不会影响其他设备。

6. 修改配置后为什么没有生效?

可以执行下面两条命令:

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

第一条检查配置文件格式,第二条显示 SSH 当前使用的配置。

如果显示结果与设置内容不同,还要检查:

/etc/ssh/sshd_config.d/

这个目录中可能存在其他 SSH 配置文件。

九、总结

搬瓦工 SSH 安全设置要按照顺序操作,每完成一步都要先测试,确认没有问题后再继续。

正确的操作顺序是:

  1. 保留当前已经登录的 SSH 窗口;
  2. 备份 sshd_config 配置文件;
  3. 把默认的 22 端口改成 35678
  4. 打开新的终端窗口,测试新端口能否登录;
  5. 在本地电脑生成 SSH 密钥;
  6. 把公钥添加到搬瓦工 VPS;
  7. 确认 SSH 密钥可以正常登录;
  8. 最后关闭 SSH 密码登录。

如果修改后无法连接,可以进入 KiwiVM 面板,打开 Root shell – interactive 检查和恢复 SSH 配置。操作时不要提前关闭原来的 SSH 窗口,这样即使新端口或密钥设置出错,也还有机会改回来。

搬瓦工 VPS 套餐与购买参考
购买前建议先确认套餐区别、购买流程和优惠码,避免选错方案或漏用折扣。
选择建议:
  • 入门:KVM 常规套餐价格较低,适合预算有限、建站测试或轻量使用。
  • 推荐:CN2 GIA-E 套餐机房选择更多,线路表现更适合大陆访问用户。
  • 高端:香港、日本大阪等套餐价格更高,适合对延迟、机房位置或线路有具体要求的用户。
下方表格整理了常见搬瓦工 VPS 套餐,包含配置、机房、价格和购买入口,适合快速对比。
套餐CPU内存硬盘流量带宽机房价格购买
KVM
(最便宜)
2核1GB20GB1TB1GbpsDC2 AO
DC8 ZNET
$49.99/年
最便宜
购买
3核2GB40GB2TB1Gbps$52.99/半年
$99.99/年
购买
CN2 GIA-E
最推荐
2核1GB20GB1TB2.5GbpsDC6 CN2 GIA-E
DC9 CN2 GIA
软银 JPOS_1
荷兰 EUNL_9
圣何塞 CN2 GIA
加拿大 CN2 GIA
$49.99/季度
$169.99/年
购买
3核2GB40GB2TB2.5Gbps$89.99/季度
$299.99/年
购买
SLA
(SLA 保障)
2核
独享
1GB20GB1TB2.5Gbps美国 DC5 SLA
99.99% 在线率
每两周免费换IP一次
$65.89/季
$239.99/年
购买
3核
独享
2GB40GB2TB2.5Gbps$116.99/季
$399.99/年
购买
香港(HKHK_8)
高端首选
2核2GB40GB0.5TB1Gbps中国香港
日本东京
日本大阪
新加坡
$89.99/月
$899.99/年
购买
4核4GB80GB1TB1Gbps$155.99/月
$1559.99/年
购买
大阪(JPOS_6)
(高性价比)
2核2GB40GB0.5TB1.5Gbps日本大阪$49.99/月
$499.99/年
购买
4核4GB80GB1TB1.5Gbps$86.99/月
$869.99/年
购买
【常驻小尾巴】
无论本文聊的是 VPS、脚本还是一杯拿铁,我们都为折腾留了一个出口——
👥 搬瓦工中文网QQ交流群:238290124
一句话简介:技术闲聊、优惠爆料、翻车互助、红包随机掉落。
我们在这里等你一起把不可能变成日常。

关于搬瓦工 (BandwagonHost)

搬瓦工隶属于加拿大 IT7 Networks,是全球知名的 VPS 提供商。提供基于 KVM 架构的高性能主机,拥有包括香港、东京、洛杉矶在内的 20 个顶级机房。其自研的 KiwiVM 面板支持机房一键迁移、快照备份及 API 管理,以稳定性和极速直连线路著称。

搬瓦工购买教程搬瓦工套餐汇总