尝试使用Sequel Pro进入这个流浪盒。错误详细信息屏幕是;
Used command: /usr/bin/ssh -v -N -S none -o ControlMaster=no -o ExitOnForwardFailure=yes -o ConnectTimeout=10 -o NumberOfPasswordPrompts=3 -o TCPKeepAlive=no -o ServerAliveInterval=60 -o ServerAliveCountMax=1 vagrant@control.example.dev -L 57790:127.0.0.1:3306
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Control socket " none" does not exist
debug1: Connecting to control.example.dev [127.0.0.1] port 22.
debug1: connect to address 127.0.0.1 port 22: Connection refused
ssh: connect to host control.example.dev port 22: Connection refused
一旦我在(vagrant ssh
)中使用了ssh,我就可以在命令行登录mysql。
我可以使用mysql -uroot -p
进入,然后空白以获取密码。
我在Sequel Pro上的联系是;
MySQL主机:127.0.0.1
用户名:root
SSH主机:control.example.dev
SH用户:流浪汉
其他一切都是空白的!
答案 0 :(得分:4)
我有同样的问题。我摧毁了我以前的流浪盒并使用相同的IP地址重建它。尽管事实证明我的所有凭据都是正确的,但我仍然遇到了这个问题,如上图所示。
对我而言,解决方法是从~/.ssh/known_hosts
删除IP记录。这些错误只告诉我连接被拒绝了,并且"隧道意外关闭了。"
此问题的另一个解决方案是将您自己的id_rsa.pub
密钥添加到VM的/home/vagrant/.ssh/authorized_keys
文件中。这将有效地让您访问您的VM,就像您通常授予自己无密码ssh访问任何Ubuntu框一样。
答案 1 :(得分:1)
运行vagrant ssh
时,您已经在VM中,默认情况下,套接字连接用于连接MySQL数据库。
要使用Sequel Pro或从主机连接到Vagrant guest虚拟机的MySQL实例,您需要通过SSH隧道连接。默认情况下,vagrant使用端口2222
。您还需要使用私钥和用户vagrant
连接到Vagrant来宾VM。
Vagrant来宾的私钥位于.vagrant/machines/[machine-name]/virtualbox
所在的Vagrantfile
目录中。假设您在主目录中创建了一个名为debian
的Vagrant来宾,它应该位于
/用户/ your_name /流浪/机/的Debian /的virtualbox / PRIVATE_KEY
在Sequel Pro中,使用此私钥和vagrant
用户名以及端口2222进行连接。
答案 2 :(得分:0)
仔细检查所有MySQL和SSH详细信息。重新输入所有内容!最好进行复制和粘贴,以避免意外错误。 我有完全相同的问题,这是由错误的IP地址引起的。