SSH自动登录失败主因是权限错误、端口监听异常、防火墙拦截及宝塔设置不一致需chmod 700 ~/.ssh、600 authorized_keys确保sshd监听0.0.0.0而非127.0.0.1云平台安全组与系统防火墙均须放行对应端口宝塔终端设置中的端口、用户、密钥路径须与系统实际配置严格一致。SSH密钥文件权限错误导致自动登录失败宝塔面板终端“自动认证”失败十次里有七次是 .ssh 目录或密钥文件权限太松——OpenSSH 默认拒绝读取权限过宽的私钥这是硬性安全策略不是宝塔的 bug。chmod 700 ~/.ssh必须否则 ssh 直接报错 Permissions for ~/.ssh/id_rsa are too openchmod 600 ~/.ssh/authorized_keys公钥列表文件也必须严格限制写权限如果用的是非 root 用户比如 www要确认该用户家目录可读ls -ld /home/www 输出中不能是 drwx------即其他用户无执行权限否则 SSH 进程无法进入目录加载密钥宝塔默认把密钥信息存到 /www/server/panel/config/ssh_info但最终仍依赖系统级 ~/.ssh/authorized_keys别只改配置不碰实际密钥文件SSH 端口未监听或监听地址不对宝塔面板显示“连接服务器失败”但你确信密钥没问题先看 SSH 服务本身有没有真正在“听”。netstat -tlnp | grep :22 返回结果如果是 127.0.0.1:22说明它只接受本机连接外部请求根本进不来。检查 /etc/ssh/sshd_config 中是否有 ListenAddress 127.0.0.1 这行有就删掉或注释保留默认全网监听确认 Port 行没被注释且值与宝塔面板「终端 → 设置」里填的端口一致比如你改成了 5968这里就必须是 Port 5968改完必须执行 systemctl restart sshd仅 reload 不生效重启后立刻用 ss -tlnp | grep :5968 验证是否监听到了 0.0.0.0:5968若用的是 CentOS 8 或 Ubuntu 20.04sshd 可能因 SELinux 拒绝绑定非标准端口临时关 SELinux 测试setenforce 0安全组和系统防火墙双重拦截云服务器上哪怕 SSH 服务跑得好好的、密钥也对、端口也监听了只要安全组或系统防火墙没放行照样“Connection refused”。这不是故障是设计如此。 VWO 一个A/B测试工具
宝塔面板SSH连接失败_检查密钥配置与端口监听
SSH自动登录失败主因是权限错误、端口监听异常、防火墙拦截及宝塔设置不一致需chmod 700 ~/.ssh、600 authorized_keys确保sshd监听0.0.0.0而非127.0.0.1云平台安全组与系统防火墙均须放行对应端口宝塔终端设置中的端口、用户、密钥路径须与系统实际配置严格一致。SSH密钥文件权限错误导致自动登录失败宝塔面板终端“自动认证”失败十次里有七次是 .ssh 目录或密钥文件权限太松——OpenSSH 默认拒绝读取权限过宽的私钥这是硬性安全策略不是宝塔的 bug。chmod 700 ~/.ssh必须否则 ssh 直接报错 Permissions for ~/.ssh/id_rsa are too openchmod 600 ~/.ssh/authorized_keys公钥列表文件也必须严格限制写权限如果用的是非 root 用户比如 www要确认该用户家目录可读ls -ld /home/www 输出中不能是 drwx------即其他用户无执行权限否则 SSH 进程无法进入目录加载密钥宝塔默认把密钥信息存到 /www/server/panel/config/ssh_info但最终仍依赖系统级 ~/.ssh/authorized_keys别只改配置不碰实际密钥文件SSH 端口未监听或监听地址不对宝塔面板显示“连接服务器失败”但你确信密钥没问题先看 SSH 服务本身有没有真正在“听”。netstat -tlnp | grep :22 返回结果如果是 127.0.0.1:22说明它只接受本机连接外部请求根本进不来。检查 /etc/ssh/sshd_config 中是否有 ListenAddress 127.0.0.1 这行有就删掉或注释保留默认全网监听确认 Port 行没被注释且值与宝塔面板「终端 → 设置」里填的端口一致比如你改成了 5968这里就必须是 Port 5968改完必须执行 systemctl restart sshd仅 reload 不生效重启后立刻用 ss -tlnp | grep :5968 验证是否监听到了 0.0.0.0:5968若用的是 CentOS 8 或 Ubuntu 20.04sshd 可能因 SELinux 拒绝绑定非标准端口临时关 SELinux 测试setenforce 0安全组和系统防火墙双重拦截云服务器上哪怕 SSH 服务跑得好好的、密钥也对、端口也监听了只要安全组或系统防火墙没放行照样“Connection refused”。这不是故障是设计如此。 VWO 一个A/B测试工具