宝塔面板本身不直接配置SSH服务,而是通过Linux系统的系统命令安装并启动OpenSSH服务,随后在宝塔面板的“安全”菜单中放行22端口即可实现远程连接。
很多刚接触服务器管理的朋友,看到宝塔面板那简洁直观的图形化界面,往往会产生一种错觉:既然面板这么强大,是不是连SSH这种底层连接也能像改密码一样在面板里一键搞定?其实不然,宝塔面板更像是一个高效的“管家”,它负责管理网站、数据库和文件,而SSH(Secure Shell)则是通往服务器底层的“钥匙”,要配置好这把钥匙,我们需要分清“系统层”和“面板层”两个维度的操作。
SSH服务的基础安装与启动逻辑
在大多数现代Linux发行版中,如CentOS、Ubuntu或Debian,OpenSSH服务端通常已经预装,如果缺失或需要升级,我们需要通过命令行介入,这一步是配置SSH的前提,也是很多新手容易卡壳的地方。
检查SSH服务状态
你需要通过宝塔终端或本地终端连接服务器,输入以下命令查看SSH服务是否正在运行:
- CentOS/RHEL系统:执行
systemctl status sshd - Ubuntu/Debian系统:执行
systemctl status ssh
如果看到绿色的“active (running)”字样,说明服务正常,如果显示“inactive”或“not found”,则需要手动安装。
手动安装OpenSSH服务端
若服务未安装,请根据系统类型执行对应的安装命令,这是业内专家指出的标准操作流程,能确保环境的一致性。
- 对于CentOS 7/8及更高版本:
yum install -y openssh-server openssh-clients systemctl start sshd systemctl enable sshd
- 对于Ubuntu 20.04/22.04及更高版本:
apt update apt install openssh-server systemctl start ssh systemctl enable ssh
安装完成后,务必检查配置文件 /etc/ssh/sshd_config,虽然默认配置通常足够安全,但为了提升宝塔面板SSH端口修改的安全性,建议后续调整默认端口。
宝塔面板的安全策略配置

服务器装好了SSH服务,并不代表你能从外部连进去,防火墙和安全组是两道必经关卡,很多用户抱怨“SSH连不上”,90%的原因出在这里。
放行宝塔防火墙端口
宝塔面板自带了一套强大的防火墙机制,默认情况下,它只放行80、443、8888等常用Web端口,你需要手动添加SSH端口。
- 登录宝塔面板后台。
- 点击左侧菜单的“安全”。
- 在“添加端口规则”区域,输入端口号(默认22,若已修改则填新端口)。
- 备注填写“SSH远程连接”,策略选择“允许”。
- 点击“提交”。
这一步至关重要,相当于在小区的保安室登记了你的通行权限,如果忽略此步,即使SSH服务运行正常,数据包也会被面板防火墙拦截。
云服务器安全组设置
如果你使用的是阿里云、腾讯云或华为云等云服务器,除了宝塔防火墙,云厂商提供的“安全组”也是第一道防线。
- 登录云服务商控制台。
- 找到“安全组”或“防火墙”设置。
- 添加入站规则:协议选择TCP,端口填SSH端口,源IP建议设置为“0.0.0.0/0”(仅限测试环境)或指定你的固定IP(生产环境推荐)。
据行业共识认为,双重防火墙机制是保障服务器安全的基础,切勿因为方便而关闭其中任何一道。
提升SSH连接安全性的实操技巧
默认配置下的SSH虽然能用,但在公网环境下,它就像一扇没锁好的后门,黑客脚本会不断扫描22端口,尝试暴力破解密码,优化SSH配置是运维人员的必修课。
修改默认SSH端口
将SSH端口从默认的22改为一个高位端口(如22222或33899),可以过滤掉绝大多数自动化扫描攻击。
- 编辑SSH配置文件:
vi /etc/ssh/sshd_config - 找到
#Port 22这一行。 - 取消注释,改为
Port 22222(示例)。 - 保存退出。
- 重启SSH服务:
systemctl restart sshd(CentOS)或systemctl restart ssh(Ubuntu)。
修改后,别忘了在宝塔面板“安全”和云服务器“安全组”中同步更新端口号,这一步是

宝塔面板SSH端口修改的核心价值所在。
禁用密码登录,启用密钥认证
密码登录极易受到暴力破解攻击,使用SSH密钥对(公钥+私钥)进行认证,安全性呈指数级提升。
- 在本地电脑生成密钥对(Windows可用MobaXterm或Git Bash,Mac/Linux直接终端)。
ssh-keygen -t rsa -b 4096
- 将生成的公钥内容(
id_rsa.pub)复制到服务器的~/.ssh/authorized_keys文件中。 - 在宝塔面板的文件管理中,进入
/root/.ssh/目录,找到authorized_keys,将公钥内容粘贴进去。 - 修改
/etc/ssh/sshd_config,设置PasswordAuthentication no。 - 重启SSH服务。
此后,连接SSH必须使用私钥文件,即使密码泄露,服务器依然安全。
常见问题排查与连接测试
配置完成后,如何验证是否成功?如果遇到问题,该如何快速定位?
本地连接测试
使用命令行工具进行连接测试是最直接的方法。
- Windows用户:推荐使用MobaXterm、Xshell或FinalShell,在软件中创建新会话,输入服务器IP、端口(如22222)、用户名(root)和密码(或选择密钥文件)。
- Mac/Linux用户:
ssh -p 22222 root@你的服务器IP
如果连接成功,你会看到类似 Last login: ... 的提示,并进入命令行界面。
常见错误及解决方案
| 错误现象 | 可能原因 | 解决方案 |
|---|---|---|
| Connection timed out | 防火墙未放行 | 检查宝塔“安全”菜单和云服务商“安全组”是否开放对应端口。 |
| Connection refused | SSH服务未启动或端口错误 | 检查 systemctl status sshd 状态,确认端口号是否正确。 |
| Permission denied | 密码错误或密钥不匹配 | 检查密码大小写,或确认私钥路径正确,权限为600。 |
| Host key verification failed | 服务器重装过系统 | 删除本地 ~/.ssh/known_hosts 中对应IP的记录后重试。 |
总结与最佳实践建议
配置SSH并非宝塔面板的一个独立功能,而是Linux系统管理与宝塔安全策略的结合,核心逻辑清晰明了:系统安装SSH服务 -> 面板放行端口 -> 云厂商放行端口 -> 优化安全配置。
对于大多数用户而言,遵循“修改默认端口”和“启用密钥认证”这两项最佳实践,足以抵御绝大多数自动化攻击,不要过度依赖面板的图形化界面而忽视底层命令的重要性,理解SSH的工作机制,能让你在面对突发状况时更加从容。
宝塔面板SSH配置常见问题解答
修改SSH端口后,宝塔面板还能正常访问吗?
宝塔面板的Web访问端口(默认8888)与SSH端口(默认22)是相互独立的,修改SSH端口仅影响远程终端连接,不会影响面板的Web访问,但务必确保在宝塔“安全”菜单中,8888端口(或你自定义的面板端口)处于“允许”状态,且云服务器安全组也已放行该端口。
忘记SSH密码怎么办?
如果忘记了root密码,可以通过云服务商控制台的“VNC控制台”或“远程连接”功能登录服务器,这些功能基于底层虚拟控制台,不依赖SSH服务,登录VNC后,使用命令 `passwd root` 重置密码即可,重置后,记得在宝塔面板中同步更新密码,或在“安全”菜单中修改宝塔登录密码以防万一。
如何批量管理多台服务器的SSH密钥?
对于拥有多台服务器的用户,手动复制公钥效率低下,可以使用Ansible等自动化工具,或编写简单的Shell脚本批量分发公钥,在宝塔面板中,可以通过“计划任务”功能,定期同步密钥或执行安全巡检脚本,实现批量管理的自动化。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/417472.html

