使用`vagrant ssh`后的Vagrant SSH隧道

时间:2014-03-12 12:53:43

标签: ssh virtual-machine vagrant sequelpro

我的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服务器。

有谁知道如何解决这个问题?

5 个答案:

答案 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设置会有所不同。