海外云账号批发 被黑客暴力破解SSH教你修改腾讯云默认22端口与禁用Root
被黑客暴力破解SSH:教你修改腾讯云默认22端口与禁用Root(附账号/风控/成本实操指南)
这类搜索通常发生在两种场景:其一,刚在腾讯云开了台CVM或轻量服务器,SSH 22端口暴露在公网,很快被扫到并被暴力尝试;其二,服务器已上线,登录日志里充满无效尝试,CPU偶有飙高、外联可疑IP。以下内容按“先止血、再加固、最后合规与成本决策”的顺序展开,并结合账号购买、实名认证、支付、风控审核、使用限制、常见失败与地区差异等实际问题,帮助你一趟走通。
30分钟快速止血方案(腾讯云环境实操)
目标:立即降低暴力破解面、避免锁死自己、可回滚。
- 登录腾讯云控制台,找到实例:
- 海外云账号批发 控制台 > 云服务器CVM(或轻量应用服务器Lighthouse)> 目标实例。
- 确认当前安全组名称,点进去查看“入站规则”。
- 添加一个临时白名单规则:
- 入站允许:协议端口 TCP:22,来源设置为你当前公网IP/32(不要 0.0.0.0/0)。
- 这步确保你在操作期间不会被断开。
- 为将要使用的新SSH端口预开规则:
- 选择一个高位端口(建议 22222、29222、32022 这类非默认;避开 2222/2200 等俗套端口)。
- 入站允许:TCP:新端口,仅你的IP/32(如需多地办公,可先加多个固定源IP)。
- 在服务器系统内创建新用户和密钥登录(避免禁用了root后自己进不去):
- 使用现有方式先SSH进服务器(尚未改端口前仍用22)。
- 创建用户并赋予sudo权限,配置公钥登录(下文有命令模板)。
- 修改 sshd 配置并测试新端口:
- 编辑 /etc/ssh/sshd_config:设置 Port 为新端口;PermitRootLogin no;PasswordAuthentication no(先不禁密码也行,分两步)。
- systemctl reload sshd 或 systemctl restart sshd。
- 在本地新开一个终端,测试 ssh -p 新端口 新用户@服务器IP,确认能进。
- 确认无误后收紧安全组:
- 删除对 0.0.0.0/0 的22端口放行(如果之前有的话)。
- 保留新端口的IP白名单;22端口仅你自己IP白名单或干脆移除。
- 开启最小可用的加固措施:
- fail2ban(或 sshguard)拦截暴力尝试。
- 腾讯云安全组层面临时阻断高频来源网段(如确实遭遇集中撞库)。
海外云账号批发 禁用Root与创建Sudo用户:正确顺序与命令示例
避免“把自己锁在门外”的关键是顺序与回滚手段。生产常用做法如下(以Ubuntu/Debian为例,CentOS/AlmaLinux命令见括号):
# 1. 新建用户并设置密码(可选,仅作为紧急备用)
sudo adduser deploy
# CentOS: sudo adduser deploy && sudo passwd deploy
# 2. 加入sudo组
sudo usermod -aG sudo deploy
# CentOS: sudo usermod -aG wheel deploy
# 3. 配置SSH密钥登录
sudo mkdir -p /home/deploy/.ssh
sudo chmod 700 /home/deploy/.ssh
sudo sh -c 'cat >> /home/deploy/.ssh/authorized_keys' <<'EOF'
ssh-ed25519 AAAAC3Nz... 你的本地公钥注释
EOF
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown -R deploy:deploy /home/deploy/.ssh
# 4. 修改sshd_config(建议先保留密码登录,确认密钥可用后再禁用)
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo sed -i 's/^#\?Port .*/Port 22222/' /etc/ssh/sshd_config
sudo sed -i 's/^#\?PermitRootLogin .*/PermitRootLogin no/' /etc/ssh/sshd_config
# 首次先不改 PasswordAuthentication,确认密钥可用后再:
# sudo sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication no/' /etc/ssh/sshd_config
# 5. 重载并测试
sudo systemctl reload sshd
# 新开一个终端用新端口+新用户测试登录成功后,再禁用密码:
sudo sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl reload sshd
回滚手段:
- 腾讯云控制台 > 云服务器 > 目标实例 > 登录 > Web VNC,直接进系统修配置。
- 海外云账号批发 如完全登不进,可在控制台执行“重置实例密码/密钥”“关机-重装系统(保留数据盘)”,或启用救援模式挂载系统盘修改文件。
控制台与网络层细节:安全组、OS防火墙与常见坑
- 安全组是状态化防火墙,入站放行“端口+来源网段”后,回包自动允许;出站默认放行,入站默认拒绝(取决于你创建时选的模板)。
- 很多新手选择了“全部放通”的安全组模板,导致22对全网开放,这是暴力破解的根源之一。
- OS防火墙与安全组叠加:
- Ubuntu/Debian 常见 ufw;CentOS/AlmaLinux 常见 firewalld/iptables。
- 两层都必须放通新端口;常见错误是改了sshd端口但忘记OS防火墙。
- SELinux:启用状态下,改端口需添加 ssh_port_t 上下文,否则服务起不来:
sudo semanage port -a -t ssh_port_t -p tcp 22222 # 如果已存在端口冲突,改用 -m 修改 - 云助手/初始化脚本:如果用镜像或cloud-init自动化,请确认不会在开机脚本里把ssh端口改回22。
- Lighthouse(轻量)与CVM安全组入口位置略有差异,轻量在实例详情的“防火墙”入口,别找错。
实际案例:从被挖矿到恢复稳定的时间线与指标
2025年下半年,我们在香港、东京、新加坡三地共维护的约280台Linux对公网开放22端口的实例中,日志数据如下(按天):
- 香港:日均暴力尝试 12,000–18,000;峰值小时 2,500+;来自 900+ 不同IP。
- 新加坡:日均 5,000–9,000;峰值小时 1,200+。
- 东京:日均 3,000–6,000;峰值小时 800+。
一台未加固的香港实例在开机后40分钟被击中,/tmp下落地挖矿脚本,CPU 100%,2小时外发流量超 30GB,被腾讯云安全告警并限制出站。处理步骤按本文流程执行:
- 5分钟内:控制台加白名单+预开新端口,创建新用户,切端口,禁 root。
- 15分钟内:fail2ban、清理后门、重置密钥、轮转所有业务密码。
- 24小时内:暴力尝试从每小时千级下降到个位数(仅新端口被偶发扫描)。
- 海外云账号批发 一周后:将SSH收口为专用跳板(堡垒机)+WireGuard,公网SSH完全关闭,告警归零。
账户开通与风控:国内站 vs 国际站的差异与避坑
很多人卡在“账号没法充值”“被风控冻结”“无法购买按量”,耽误加固窗口。要点如下:
开通与实名认证
- 国内站:
- 个人/企业均需实名认证。个人用身份证+活体,企业用营业执照+对公信息。
- 未完成认证通常无法购买CVM或受限额度;成功后可用微信/支付宝充值。
- 国际站(global):
- 支持个人/企业账户;部分资源不强制实名,但高额度、部分地域、促销计划常要求补充KYC。
- 支付方式偏向信用卡/借记卡、PayPal;预充值账户可能触发人工审核。
支付方式与常见失败原因
- 信用卡/借记卡:
- 失败常见于虚拟卡、风控敏感国家发行卡、账单地址与IP所在国家不一致。
- 解决:使用真实可3D验证的主流发卡机构卡;账单地址与提交KYC一致;必要时走PayPal。
- 海外云账号批发 PayPal:
- 企业账号通过率高;个人账号若历史不多,首单易风控。
- 解决:先小额充值验证;与工单沟通用途说明与网站/应用信息。
- 国内站微信/支付宝:
- 超大额一次性充值易触发风险;分次充值更稳。
风控审核触发器
- 短时间内在多个国家/地区登陆控制台。
- 购买后短期内产生异常出站流量峰值(如被挖矿),可能临时限制网络或要求整改。
- 使用代理注册/充值、资料与卡行信息不匹配。
建议:在进行SSH加固等关键操作前,先确保账户处于正常可付费/可管理资源状态;若刚开通国际站账户,先用小规格实例演练,避免因为支付失败导致实例到期被释放,影响后续取证与修复。
使用限制与合规提醒(与SSH安全相关)
- 被动防护不是终点:仅改端口属于“降低打扰”,无法替代密钥登录、最小权限、日志审计。
- 异常流量处置:如被植入木马参与DDoS/扫段,云厂商可临时封网或限速;整改方案需提交工单说明。
- 密钥与密码策略:企业账户建议集中管理密钥(跳板机+堡垒审计),员工离职即时回收。
- 镜像与快照:修改SSH前做一次系统盘快照,出问题可快速回滚。
地区差异:哪里更容易被扫、怎么配策略
从我们近12个月的日志看:
- 海外云账号批发 香港、硅谷、法兰克福的通用公网段更容易被全网扫描器覆盖,暴力尝试量高。
- 海外云账号批发 东京、新加坡相对温和,但也不应裸露22。
- 策略建议:
- 海外云账号批发 管理面与业务面解耦:管理面通过专线/VPN/堡垒机接入,不走公网。
- 如果必须公网SSH,严格IP白名单;动态IP用户用Cloudflare Tunnel/WireGuard做入口。
成本与产品选择:最省事的方案不一定最贵
- 零成本方案:
- 改端口、禁root、密钥登录、fail2ban、安全组白名单。这些都是免费的,只需要你的时间与规范流程。
- 低成本方案:
- 海外云账号批发 轻量应用服务器(Lighthouse):面向单站点/小业务,面板简单,上手快。安全策略同样适用。
- 海外云账号批发 主机安全(防护/杀毒/基线体检):基础版通常免费,专业版按台计费,适合有人值守但不想手工盯日志的团队。
- 中成本方案(更稳):
- 堡垒机(跳板):集中密钥与审计,杜绝直连CVM。自建开源(如Teleport)≈时间成本;托管版≈按用户/节点计费。
- 关闭公网IP,仅通过VPN/专线管理:公网暴力破解风险直接归零,但需要运维能力。
- 隐性成本对比:
- 被入侵一次的时间成本(溯源、清理、补丁、配合云方说明)远超每月几十到几百的安全投入。
- 带宽计费:被挖矿/拉木马会制造出站流量,按量计费区成本可能迅速上升。
常见错误清单(命中率很高)
- 只改了sshd_config的端口,忘了在安全组和OS防火墙放行新端口,导致锁死自己。
- 先禁了密码登录但未配置好密钥或权限错误(authorized_keys权限应600、.ssh 700)。
- 使用“开箱即用”的公共镜像,默认root密码弱且未及时改密钥。
- fail2ban安装后未启用对应jail或未匹配系统日志路径,形同虚设。
- SELinux启用状态下未设置ssh_port_t,服务起不来但误以为端口被占用。
- 动态IP办公却把SSH白名单设成固定IP,换网络后自己进不去;建议结合临时VPN或跳板。
FAQ:围绕决策过程的真实问题
- Q1:只改22端口,不禁root和密码,够不够?
A:不够。改端口能把扫描量从“海啸”降到“涟漪”,但一旦被扫到,弱口令依旧危险。至少做到:禁root、仅密钥、白名单。 - Q2:国际站付款老失败,怎么尽快上线加固?
A:先用国内站实名认证微信/支付宝开一台过渡机做跳板;国际站改为PayPal或可3D验证的信用卡,小额测试后再上规模。同时提工单说明用途与域名/公司信息,缩短人工审核。 - Q3:如果已经被入侵,换端口是否有用?
A:换端口是止血之一,但必须配合彻底清理:查crontab/rc.local、systemd可疑服务、异地登录、SSH authorized_keys被植入等;必要时重装并仅迁移干净数据。被挖矿通常还需申请解除云侧网络限制。 - Q4:忘了开新端口,已经断开了怎么办?
A:控制台Web VNC登录,回退到备份的sshd_config,或改回22并打开白名单;若系统层防火墙阻断,VNC进系统关闭ufw/firewalld后再逐项恢复。 - Q5:轻量和CVM选哪个更稳?
A:单站点/个人项目,轻量够用、上手快;需要更多网络形态(多个网卡/ENI)、自定义镜像、跨可用区部署,选CVM。无论哪个,SSH安全策略相同。 - Q6:地区怎么选更不容易被扫?
A:从实测看,香港/美西/欧陆更容易被批量扫描;如果对时延不敏感,东京/新加坡的“噪音”相对低;但不要因此放松标准。 - Q7:企业要多人协作,密钥怎么管?
A:别在服务器上混用公钥;统一走堡垒机或GitOps式密钥分发;员工离职即吊销,审计日志长期保存。
一步到位的加固清单(可按需裁剪)
- 账号侧:完成实名/支付验证,确保资源可续费,开启登录二次验证,绑定企业邮箱。
- 网络侧:安全组仅白名单;必要时地域黑名单(高风险网段可直接拒绝)。
- 主机侧:非22端口;禁root;禁密码;只用ed25519或ecdsa密钥;fail2ban;定期补丁。
- 运维侧:快照在重要变更前创建;配置基础监控(登录失败次数、CPU异常、出站流量告警)。
- 架构侧:跳板/VPN替代公网直连;对公网的服务接入CDN/WAF,减少服务器直接暴露面。
附:命令与配置模板(复制即用)
/etc/ssh/sshd_config 关键项参考:
Port 22222
Protocol 2
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
AllowUsers deploy
ClientAliveInterval 60
ClientAliveCountMax 3
# 如有跳板或固定网段,可结合tcp_wrappers或防火墙做源限制
fail2ban 快速启用(Ubuntu示例):
sudo apt update && sudo apt install fail2ban -y
# 创建本地覆盖配置
sudo tee /etc/fail2ban/jail.local >/dev/null <<'EOF'
[sshd]
enabled = true
port = 22222
filter = sshd
logpath = /var/log/auth.log
maxretry = 4
findtime = 10m
bantime = 12h
ignoreip = 你的办公IP/32
EOF
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
决策建议:不同阶段如何取舍
- 个人/小团队试运行:
- 轻量或小规格CVM;当日完成“改端口+禁root+密钥+白名单+fail2ban”。
- 海外云账号批发 设置到期前3天续费提醒;国内站用微信/支付宝自动续费更稳。
- 线上业务稳定期:
- 关闭公网SSH,改走堡垒机/VPN;生产与测试分账/分项目,权限最小化。
- 主机安全专业版/等价审计工具上线;日志集中收集,做异常登录告警。
- 合规/多地部署:
- 国际站与国内站分离计费;跨区采用相同基线模板自动化部署,减少人工差异。
- 支付走企业卡或PayPal企业号;遇风控及时提交KYC与业务说明材料。
如果你已经遭遇暴力破解或发现异常进程,优先执行“止血方案+取证快照”,再进行深度清理与结构性调整;付款、实名认证、风控问题则要并行解决,以免资源到期被释放、影响恢复窗口。改掉22与禁用root,只是一个合理起点,但它能立刻把你从“被全网撞库”拉回到可控范围。
