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

本地Homestead+Vagrant环境下无法连接MySQL数据库:SSH权限拒绝(publickey,password)问题求助

解决Sequel Ace通过SSH隧道连接Homestead MySQL失败的问题

从你提供的SSH调试日志来看,问题核心出在SSH认证环节,主要有两个关键诱因:

问题1:Sequel Ace在错误路径寻找SSH私钥

日志里明确提示:

no such identity: /Users/nielsvroman/.keys/id_rsa: No such file or directory

你的Homestead配置里指定的密钥路径是~/.ssh/id_rsa(对应实际路径/Users/nielsvroman/.ssh/id_rsa),但Sequel Ace却默认在~/.keys/目录下查找密钥,路径不匹配直接导致密钥认证失败。

问题2:密码认证时无法分配终端(tty)

当密钥认证失败后,系统尝试密码登录时出现:

debug1: read_passphrase: can't open /dev/tty: Device not configured

这是因为Sequel Ace在当前环境下无法正确创建终端会话来接收密码输入,进而导致密码认证也宣告失败。


解决方案(优先推荐密钥登录,更稳定)

步骤1:确认本地SSH密钥的合法性

首先在本地终端执行以下命令,确保密钥权限符合SSH要求(私钥权限必须为600,所在目录权限为700):

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

接着验证直接SSH登录Homestead是否正常:

ssh vagrant@192.168.56.56

如果能顺利登录,说明密钥本身没问题,接下来只需调整Sequel Ace的配置即可。

步骤2:修正Sequel Ace的连接配置

打开Sequel Ace新建连接,切换到SSH选项卡:

  • SSH Host: 192.168.56.56(与Homestead.yaml里的IP保持一致)
  • SSH User: vagrant(Homestead默认用户名)
  • SSH Key: 点击「Choose File」,手动选择本地的~/.ssh/id_rsa文件(不要使用默认的~/.keys/路径)
  • SSH Password: 留空即可(依赖密钥完成认证)

再切换到MySQL选项卡:

  • Host: 127.0.0.1(SSH隧道转发到虚拟机本地的MySQL服务)
  • Username: homestead(Homestead默认MySQL用户名)
  • Password: secret(Homestead默认MySQL密码)
  • Database: volleyadmin(与Homestead.yaml里配置的数据库名一致)
  • Port: 3306

保存配置后尝试连接,应该就能成功建立SSH隧道并访问MySQL了。


备选方案:若坚持使用密码登录

如果一定要用密码认证,需要在Sequel Ace的SSH配置中添加强制分配终端的参数:
在SSH选项卡的「SSH Arguments」输入框中填写:

-t -t

该参数会强制SSH创建终端会话,解决can't open /dev/tty的问题,之后再输入SSH密码secret尝试连接即可。不过还是更推荐密钥登录,能避免这类终端兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 18:32:43