宝塔SSH密钥登录与密码禁用:教你用密钥登录宝塔并关掉密码

宝塔SSH密钥登录与密码禁用:教你用密钥登录宝塔并关掉密码

网络安全wl5net2026-11-09 22:51:36A+A-
约 2985 字 · 预计阅读 6 分钟

很多站长刚买好云服务器、装好宝塔面板后,第一件事是搭建网站,却往往忽略了最底层的安全隐患。如果你去翻一眼系统的安全日志,就会发现每天有成千上万个恶意IP在不知疲倦地扫描你的22端口,尝试暴力破解。想要彻底睡个安稳觉,最直接、最管用的手段就是配置宝塔SSH密钥登录与密码禁用。只要把这道防线筑牢,直接从源头掐死全网99%的自动化爆破脚本。

宝塔SSH密钥登录与密码禁用:教你用密钥登录宝塔并关掉密码

今天我就结合自己平时运维几十台服务器的实操经验,用大白话带大家走一遍完整流程,顺便把几个新手最容易踩的“翻车大坑”填上。


为什么要扔掉密码,换成密钥?

说白了,传统的账号+密码登录方式有两个致命弱点:

  1. 防不住撞库和穷举:哪怕你设了16位包含大小写特殊符号的密码,只要端口开着,攻击者的脚本就会持续消耗你的系统资源去猜。
  2. 容易泄漏:不同平台如果用了相似的密码,一旦某处泄露,服务器就会被顺藤摸瓜端掉。

而SSH密钥登录走的是“非对称加密”逻辑。服务器上放一把“锁”(公钥),你的电脑里握着对应的“钥匙”(私钥)。连接时两者对暗号,暗号对得上秒进,对不上直接切断连接,根本不给黑客尝试输入密码的机会。

对比维度 传统账号密码登录 SSH密钥免密登录
安全性 极低(容易被暴力破解扫描) 极高(数学层面的穷举不可行)
登录体验 每次都要敲长串字符,容易输错 配合终端软件一键双击秒连
系统开销 频繁被扫会导致CPU和带宽浪费 握手失败直接断开,几乎无额外消耗

第一步:在宝塔面板生成并绑定密钥

其实宝塔已经把生成密钥的过程做得很傻瓜化了,不用去Linux敲复杂的命令,跟着我点几下就行。

  1. 打开并登录你的宝塔面板后台,在左侧导航栏点击进入 “安全” 页面。
  2. 找到 “SSH管理” 这一项(有些老版本在“系统安全”里)。
  3. 看到“SSH服务”是开启状态后,点击旁边的 “SSH密钥管理” 或者 “添加密钥”。
  4. 弹出的窗口里,系统会提示你:
    • 密钥名称:随便填,比如 my-macbook-key 或者 home-pc,方便你自己区分是哪台电脑。
    • 加密方式:默认 RSA 就可以,长度建议选 2048 或 4096 位;懂行的也可以选 ED25519,性能和安全性更好。
  5. 点击生成后,宝塔会提示你下载私钥文件(通常是一个 .pem 或无后缀文本)。

【血泪警告】: 下载下来的私钥文件是你进入服务器的唯一凭证,赶紧存到安全的地方,别随手扔在桌面等下清理垃圾删了!私钥一旦丢了,后面又禁了密码,你就得去云平台后台跑VNC救砖了。


第二步:拿私钥测试连接(千万别跳过这步!)

很多新手最容易犯的错误就是:刚在宝塔里生成了密钥,转头立马把密码登录给关了。 结果本地客户端根本没配置好,直接把自己锁在门外,欲哭无泪。

记住运维铁律:任何安全策略生效前,必须留好退路,验证成功再关旧通道。

如果你用的是 Xshell / FinalShell / Putty 等工具:

  1. 新建一个连接,填入服务器IP和你的SSH端口。
  2. 认证方式不要选“密码”,选择 “Public Key(公钥/密钥)”。
  3. 用户名依然填 root。
  4. 找到“用户密钥”选项,点击浏览/导入,把你刚才从宝塔下载的私钥文件导入进去。
  5. 点击连接。如果没报错直接进入了终端命令行(看到 [root@xxx ~]#),说明密钥部署完全成功!

如果你用的是 Mac 或 Linux 终端:

打开本地终端,先给私钥降权(权限太高SSH客户端会拒接):

chmod 600 ~/Downloads/your_private_key.pem

然后测试连接:

ssh -i ~/Downloads/your_private_key.pem -p 你的SSH端口 root@你的服务器IP

能顺利敲命令进去,才算通关。


第三步:修改配置,彻底禁用密码登录

好了,现在你手里已经拿到了开门的钥匙,接下来就是把以前那个容易被撬的“旧锁芯”(密码登录)给堵死。

方法A:直接在宝塔面板一键关闭(推荐新手)

  1. 回到宝塔面板的 “安全” 页面。
  2. 在 SSH 管理区域,找到 “密码登录” 这个开关。
  3. 直接将其状态拨到 “关闭”(或者有些版本是勾选“只允许密钥登录”)。
  4. 宝塔会自动帮你重载后台的 SSH 服务,瞬间生效。

方法B:去底层配置文件锁死(老运维更推荐)

有时候宝塔面板偶尔会抽风,为了百分百放心,你可以直接在刚才连上的终端里敲两行命令:

打开 SSH 主配置文件:

vi /etc/ssh/sshd_config

在文件里找到以下两行(如果前面有 # 号记得删掉):

PubkeyAuthentication yes
PasswordAuthentication no
  • PubkeyAuthentication yes 的意思是:允许公钥认证。
  • PasswordAuthentication no 的意思是:严禁密码认证。

改完保存退出(Vi里按 Esc,输入 :wq 回车)。

最后,输入命令重启SSH服务生效:

# CentOS 系列执行:
systemctl restart sshd

# Ubuntu / Debian 系列执行:
systemctl restart ssh

验证成果与常见卡点答疑

搞定之后,我们来做个“自虐测试”:随便找台没配过密钥的设备,或者在客户端里强行用密码方式连接服务器。如果终端直接弹出一句冷冰冰的 Permission denied (publickey),连输密码的输入框都不给你弹,恭喜你,你的服务器防御水平已经直接超越了绝大多数同行。

最后整理两个大家最常问的问题:

Q1:我如果换了新电脑,怎么连上去? A:只要你手头有那份私钥,把私钥拷到新电脑上导入就能连。如果你私钥在旧电脑上不想动,可以先登录宝塔后台,在“SSH密钥管理”里再生成一套新电脑的密钥导入进去,宝塔支持同时存在多个公钥。

Q2:密码禁用了,万一私钥不小心删了怎么办? A:别慌,虽然公网SSH进不去了,但你还可以登录阿里云、腾讯云等服务商的控制台,打开网页版的 VNC / 远程连接 终端。那个控制台是绕过网络SSH直接接管服务器显卡的,进去之后重新编辑 /etc/ssh/sshd_config,把 PasswordAuthentication 改回 yes,重启服务就能重新用密码登录救急。

花上5分钟把这套流程走完,你会发现服务器被扫爆的日志瞬间清净了。做网站搞技术,先把底层安全弄踏实,后期的SEO优化和流量承接才能跑得安心。

点击这里复制本文地址 以上内容由未来技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

网站地图 robots.txt 网站死链 关于本站 工信部备案号浙ICP备2026012592号-2 浙公网安备33102402000669号