You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tableplus/Laravel Forge连接数据库失败:用户名或密码错误

解决TablePlus连接Laravel Forge服务器数据库的SSH认证问题

核心问题定位

你遇到的SSH Error - Wrong username or password和私钥无效问题,本质是TablePlus的SSH认证逻辑与你本地Git Bash的认证方式不匹配,或是密钥/权限配置有误。以下是针对性的解决步骤:

步骤1:确认SSH登录方式(密码/密钥)

先明确你Git Bash中ssh forge@<IP_ADRESS>的登录逻辑:

  • 若登录时需要输入密码:说明服务器开启了SSH密码认证,接下来检查TablePlus的SSH密码配置
  • 若登录时无需输入密码直接进入:说明你的本地SSH Agent已加载对应私钥,你以为的“密码登录”实际是密钥自动认证,TablePlus用密码肯定登不上,必须使用对应私钥

步骤2:密码登录失败的修复

如果确实是密码登录场景:

  • 检查TablePlus的SSH密码是否输入正确:避免复制粘贴时带空格、特殊字符(如!@#$)未正确输入,建议手动输入一遍
  • 登录Laravel Forge的服务器详情页,进入Security标签,确认Password Authentication选项处于开启状态,若关闭则开启后重试
  • 单独测试SSH连接:在TablePlus的连接设置里,仅填写SSH主机、用户名(forge)、密码,点击「测试SSH连接」,先确保这一步能成功

步骤3:私钥无效的修复

如果是密钥登录场景,或密码登录不可行:

  • 获取正确的私钥:登录Laravel Forge,进入目标服务器的SSH Keys标签,下载服务器对应的私钥文件(注意是私钥,不是公钥)
  • 调整私钥权限:
    • Windows:右键私钥文件→属性→安全→高级→禁用继承→删除所有非当前用户的权限→添加当前用户,仅赋予「读取」权限
    • Mac/Linux:终端执行chmod 600 /path/to/your/private-key.pem,确保只有当前用户能读取
  • 检查私钥格式:TablePlus支持PEM格式私钥,如果你的私钥是OpenSSH格式(开头为ssh-rsa),可通过命令转换:
    ssh-keygen -p -m PEM -f /path/to/your/private-key
    
  • 在TablePlus中加载私钥:选择「SSH密钥」认证方式,浏览选中处理好的私钥文件,点击「测试SSH连接」

步骤4:数据库连接URL的正确配置

通过SSH隧道连接时,数据库连接URL的格式应为:

mysql://root:<DB_PASSWORD>@127.0.0.1:3306/<DB_NAME>
  • 主机必须填127.0.0.1(SSH隧道映射的本地地址),不能填服务器公网IP
  • 替换<DB_PASSWORD>为你的数据库密码,<DB_NAME>为项目对应的数据库名称

额外排查点

  • 调整TablePlus的SSH版本:在SSH设置中,将「SSH Version」改为SSH2,尝试切换加密算法(比如选择AES-256-CBC)
  • 重启TablePlus或本地SSH Agent(Windows:执行ssh-agent -k再重新启动ssh-agent;Mac/Linux:执行ssh-add -D后重新添加私钥)

内容的提问来源于stack exchange,提问作者Marco Rifo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:53:02