如何在Linux系统中关闭密码登录并强制密钥登录?
美国、香港服务器
如何在Linux系统中关闭密码登录并强制密钥登录?
03-21 来源:
一、警告:先别急着改!
你必须先确认:你的本地电脑已经能正常密钥登录服务器。否则一旦关闭密码,你会直接被锁死、连不上服务器。
二、一键修改配置(核心步骤)
1. 编辑 SSH 配置文件
bash
运行
nano /etc/ssh/sshd_config
2. 找到并改成这 3 行(最关键)
ini
PubkeyAuthentication yes # 开启密钥登录
PasswordAuthentication no # 关闭密码登录
ChallengeResponseAuthentication no # 彻底禁用密码交互
简单对照:
yes = 允许
no = 禁止
确保没有 # 注释符号。
3. 保存退出
nano 编辑器按:Ctrl + O → 回车 → Ctrl + X
4. 重启 SSH 服务(必须)
bash
运行
# Ubuntu / Debian
systemctl restart sshd
# CentOS / Redhat
systemctl restart sshd
三、验证是否成功(不要关当前窗口!)
保持现有连接不要断,新开一个终端测试:
不用密钥,只输密码 → 应该直接拒绝登录
导入密钥登录 → 秒进无需密码
符合以上结果 = 设置完美成功 ✅
四、如果你还不会生成密钥(简单教你)
本地 Windows / Mac 执行:
bash
运行
ssh-keygen
一路回车,生成公钥。
传到服务器:
bash
运行
ssh-copy-id root@服务器IP
五、为什么这样最安全?
密码可以被爆破、撞库
密钥 = 2048/4096 位非对称加密
全世界几乎无法破解
就算黑客拿到你的服务器 IP,也永远登不进去
六、一键总结
先能用密钥登录
改 sshd_config:开密钥、关密码
重启 sshd
新开窗口测试
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快