我的MySQL客户端(Sequel Pro)设置为通过SSH连接到Vagrant。我在~/.ssh/config
文件中设置了以下内容:
Host vagrant
HostName 127.0.0.1
CheckHostIP no
Port 2222
User vagrant
IdentityFile ~/.vagrant.d/insecure_private_key
如果我没有vagrant ssh
运行,一切正常。但是一旦我使用该命令登录Vagrant框,Sequel Pro就无法通过SSH连接 - 它只是说" SSH隧道意外关闭了。"所以我必须先运行vagrant reload
才能连接到MySQL服务器。
有谁知道如何解决这个问题?
答案 0 :(得分:19)
我遇到了同样的问题,结果证明这是known_hosts
文件中的旧密钥。
所以,我做了:
$ vi ~/.ssh/known_hosts
点击127.0.0.1:2200
上的行,然后命令dd
删除该行。
:x
要拯救,而且是你的叔叔。获得连接,Jambi万岁。
我希望能省一些人的悲伤。欢呼声。
答案 1 :(得分:14)
我通过使用端口转发而不是SSH隧道解决了这个问题。我将以下内容添加到Vagrantfile
:
config.vm.network :forwarded_port, guest: 3306, host: 8306
然后通过端口8306
连接到MySQL。
答案 2 :(得分:3)
我有类似的问题。我整天都在挣扎。我甚至经过Jeffrey Way的 Vagrant and Sequel Pro。还是有问题。我甚至改变了Vagrant文件中的转发端口号,并尽一切可能。但是,以下拯救了我的生命。
当我做的流浪汉重装比我看到的
default: 22 => 2200 (adapter 1)
但是,我正在做的是在续集中设置连接时我写了SSH PORT: 2222
我是根据上面链接的视频做到的。
但是一旦我改为我用vagrant reload
看到的数字,它就要求我进行验证。我选择了“是”'。
而且,它确实得到了联系。经过一天的斗争,结局愉快。
对于未来的读者来说,希望某个地方的某个人因为这个原因不得不像我一样度过一天。 ;)
答案 3 :(得分:1)
尝试从带有vagrant项目的文件夹中加载另一个键 例如。 {vagrant_project} /。流浪/设备/默认/的virtualbox / PRIVATE_KEY
答案 4 :(得分:0)
除上述内容外,还可能是以下问题之一:
“insecure_private_key”仅在首次启动时使用。除非您已禁用该功能(insert_key = false),否则vagrant将使用随机生成的密钥替换该密钥,存储在.vagrant / machines / {machinename} / {providername} / private_key
中您可以在ssh_config中使用该密钥
如果连接来自localhost而不是来自“外部”IP地址,那么您的MySQL设置会有所不同。