韩国高防服务器如何设置密钥对登录,禁用密码登录?
做过韩国业务的运维都知道,韩国高防服务器确实是“真香”——低延迟、高带宽、抗D能力强,非常适合游戏、电商、直播等对网络质量要求高的业务。
但很多朋友忽略了一个致命细节:服务器再高防,也防不住密码被暴力破解。如果你还在用 root/123456 这种弱密码,或者开了22端口让全世界随便扫,那再贵的高防包也白搭。
今天这篇不绕弯子,直接教你在韩国高防服务器上完成三件事:
生成并配置SSH密钥对
测试密钥登录正常后,彻底禁用密码登录
避开韩国机房特有的几个“坑”
全程命令可复制,跟着做就行。
一、为什么非要换密钥?密码登录到底差在哪?
先看一组真实数据:一台部署在首尔机房、开放22端口的普通服务器,上线24小时内,SSH登录日志中记录的失败尝试平均超过 2000次。这些全部是自动化脚本在扫。
密码登录的三大硬伤:
可被暴力破解:只要密码不够长,被撞库只是时间问题
容易被社工:管理员在多个平台用同一密码,一旦某个小论坛数据泄露,服务器也跟着遭殃
日志噪音大:每天几千条失败登录刷屏,真正的异常反而被淹没
而SSH密钥登录用的是非对称加密——公钥放服务器,私钥自己保管。没有私钥,就算知道用户名和IP也白搭。暴力破解对密钥登录完全无效。
二、SSH密钥登录原理(一句话版)
你在本地生成一对钥匙:公钥(锁) 和 私钥(钥匙)
把公钥上传到韩国服务器,放在 ~/.ssh/authorized_keys 里
登录时,服务器用公钥“验锁”,你的私钥能对上,就放行
全程不传输密码,不怕被抓包
三、实战配置:从零开始,分步操作
准备工作
一台韩国高防服务器(已开通SSH端口,假设IP为 123.123.123.123)
你的本地电脑(Windows / Mac / Linux 均可)
当前能通过密码登录服务器(务必保留一个已登录的会话窗口,别关!)
第一步:在本地生成SSH密钥对
如果你用的是 Mac / Linux(自带终端)
# 在本地终端执行
ssh-keygen -t ed25519 -C "your_email@example.com"
提示:ed25519 是目前最安全且速度最快的算法,比传统的 RSA 更优。
系统会询问:
保存路径:直接回车,默认 ~/.ssh/id_ed25519
密码短语(passphrase):建议设置一个,这样即使私钥文件泄露,对方也需再输一次密码才能用
生成后,本地会有两个文件:
~/.ssh/id_ed25519 → 私钥(打死不能给别人)
~/.ssh/id_ed25519.pub → 公钥(可以上传服务器)
如果你用的是 Windows
推荐使用 PowerShell(Win10/11 自带)或 Git Bash,命令同上。
ssh-keygen -t ed25519 -C "your_email@example.com"
生成的文件在 C:\Users\你的用户名\.ssh\ 目录下。
第二步:将公钥上传到韩国服务器
方法一(最简单):使用 ssh-copy-id 命令
# 在本地终端执行(Mac/Linux/Git Bash)
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@123.123.123.123
输入当前密码,公钥自动追加到服务器的 ~/.ssh/authorized_keys 里。
方法二(手动操作):
# 1. 查看并复制本地公钥内容
cat ~/.ssh/id_ed25519.pub # 复制输出的全部内容
# 2. 登录韩国服务器(用密码)
ssh root@123.123.123.123
# 3. 在服务器上创建 .ssh 目录并设置正确权限
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# 4. 将公钥内容追加到 authorized_keys
echo "ssh-ed25519 AAAAC3...(你粘贴的公钥内容)" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
第三步:测试密钥登录(最关键的一步!)
先不要关当前的SSH连接! 新开一个终端窗口,测试用密钥是否能正常登录:
ssh -i ~/.ssh/id_ed25519 root@123.123.123.123
如果能够顺利登录,说明密钥配置成功。如果提示 Permission denied,请检查:
公钥是否正确追加到 authorized_keys
目录和文件的权限是否正确(.ssh 必须是 700,authorized_keys 必须是 600)
黄金法则:在确认密钥登录可用之前,绝对不要关闭当前密码登录的会话窗口。否则一旦密钥配置失败,你将彻底被锁在服务器外面。
第四步:禁用密码登录(终极目标)
密钥测试通过后,用当前已登录的会话修改SSH配置文件。
# 编辑SSH配置文件
vim /etc/ssh/sshd_config
找到以下参数,修改为:
# 禁用密码认证(核心)
PasswordAuthentication no
# 禁止空密码登录(确保关闭)
PermitEmptyPasswords no
# 关闭挑战-响应认证(如果开启的话)
ChallengeResponseAuthentication no
# 禁用 root 密码登录(可选但推荐)
PermitRootLogin prohibit-password # 仅允许密钥登录
保存后,先重新加载配置,不要断开连接:
systemctl reload sshd # CentOS 7+/Ubuntu 18+
# 或
service ssh reload # 旧版本
验证密码登录是否已失效:再新开一个终端,尝试用密码登录:
ssh root@123.123.123.123
如果弹出 Permission denied (publickey),说明密码登录已成功关闭,完美!
四、韩国机房特有的3个“坑”,务必注意
坑1:部分老旧韩国服务器不支持 ed25519 算法
韩国有些IDC机房的操作系统还停留在 CentOS 6 或 Ubuntu 16.04,默认的 OpenSSH 版本较旧,不支持 ed25519。
应对方案:
生成密钥时改用 RSA 4096 位:ssh-keygen -t rsa -b 4096
或升级服务器 OpenSSH 版本(yum update openssh / apt upgrade openssh-server)
坑2:KT / SK / LG 线路对 SSH 长连接有闲置超时
韩国三大运营商(KT、SK Broadband、LG U+)的某些家用宽带线路,对 SSH 会话有较严格的闲置超时策略,你可能刚连上没几分钟就被踢掉。
解决方案:
在本地客户端配置心跳保活,编辑 ~/.ssh/config(Windows 在 C:\Users\用户名\.ssh\config):
Host your-kr-server
HostName 123.123.123.123
User root
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60 # 每60秒发送一个保活包
ServerAliveCountMax 3
坑3:云控制台的安全组 + 服务器防火墙“双重拦截”
很多韩国机房(如 Naver Cloud、Kakao Cloud)既要在控制台配安全组,又要在服务器内部配 iptables/firewalld。漏配任何一个,端口就是不通。
标准流程:
先在云控制台安全组中放行你的 自定义 SSH 端口(如果你改过端口号)
再在服务器内部检查防火墙:firewall-cmd --list-all(CentOS)或 iptables -L -n
如果内部防火墙没开,那就没关系;如果开了,记得放行新端口
五、私钥安全保管指南(比配置更重要)
1. 绝对不要上传私钥到服务器
私钥是你的“身份证”,只留本地。公钥放服务器是安全的。
2. 为私钥设置密码短语(passphrase)
生成密钥时加 -N "你的密码",或生成后用 ssh-keygen -p -f ~/.ssh/id_ed25519 追加。这样即使私钥文件不小心外泄,没有密码也无法使用。
3. 定期轮换密钥
建议每半年到一年更换一次密钥对,尤其是核心业务的管理员账号。
4. 每个管理员使用独立密钥对
不要把 authorized_keys 里塞满一堆人的公钥,而是为每个运维人员创建独立的系统账号,每个人用自己的密钥登录。这样离职时只需删除对应账号即可。
六、常见故障排查清单
问题现象可能原因解决方案
密钥登录提示 "Permission denied (publickey)"1. 公钥未正确写入 authorized_keys
2. 目录权限不对
3. 使用了错误的私钥文件① ls -la ~/.ssh 检查权限
② tail -f /var/log/secure(CentOS)或 /var/log/auth.log(Ubuntu)查看详细错误日志
修改配置后无法登录,但之前窗口还开着配置文件语法错误导致sshd拒绝启动立即用已登录的窗口回滚配置,检查 sshd -t 是否有报错
本地找不到私钥文件生成时改了默认路径,或误删除如果没有备份,只能重新生成密钥对并重新上传公钥(旧公钥可保留,双密钥共存)
私钥权限太开放,SSH拒绝使用SSH 要求私钥文件权限不能大于 600chmod 600 ~/.ssh/id_ed25519(Mac/Linux)
改了端口后连不上安全组/防火墙未放行新端口登录云控制台检查安全组出/入站规则,确认放行了自定义端口
七、总结:高防 + 密钥 = 韩国服务器的“双保险”
韩国高防服务器的核心价值是抗DDoS和CC攻击,解决的是网络层的安全问题。但服务器真正的“大门”——SSH管理入口,必须靠密钥登录来守。
配置密钥登录并禁用密码,其实花不了 10 分钟,却能帮你挡住 99% 的自动化暴力破解。它是投入产出比最高的安全加固措施,没有之一。
最后再强调一次最关键的顺序:先生成密钥 → 上传公钥 → 测试密钥登录成功 → 再关密码登录。不要反过来,否则你可能得找机房帮忙重置系统了。


