9

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

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

4

5 回答 5

22

我遇到了同样的问题,结果证明这是我known_hosts文件中的旧密钥。

所以我做了:

$ vi ~/.ssh/known_hosts

转到上面的行127.0.0.1:2200,然后执行dd删除该行的命令。
:x为了拯救,还有 bam bob 的你叔叔。连接授予,占碑万岁。

我希望这可以节省一些人的悲伤。干杯。

于 2014-11-14T05:23:02.267 回答
14

我通过使用端口转发而不是 SSH 隧道解决了这个问题。我将以下内容添加到Vagrantfile

config.vm.network :forwarded_port, guest: 3306, host: 8306

然后通过端口连接到 MySQL 8306

于 2014-03-24T11:52:54.290 回答
3

我有类似的问题。我挣扎了一整天。我什至浏览了 Jeffrey Way 的Vagrant 和 Sequel Pro。还是有问题。我什至更改了 Vagrant 文件中的转发端口号并尽了一切可能。但是,以下救了我的命。

当我做 vagrant reload 比我看到的

  default: 22 => 2200 (adapter 1)

但是,我所做的是在我编写的续集 pro 中设置连接时,我是SSH PORT: 2222 根据上面链接中的视频进行的。但是,当我更改为我看到的号码时,vagrant reload它就要求我进行验证。我确实选择了“是”。而且,它确实连接了。经过一天的奋斗,快乐的结局。它是为未来的读者准备的,希望某个地方的人不会因为这个原因像我一样度过一天。;)

于 2014-05-24T07:39:29.257 回答
1

尝试使用 vagrant 项目从文件夹加载另一个密钥,
例如 {vagrant_project}/.vagrant/machines/default/virtualbox/private_key

于 2015-04-07T14:56:23.273 回答
0

除上述问题外,还可能是以下问题之一:

  • “insecure_private_key”仅在盒子首次出现时使用。除非您禁用了该功能(insert_key=false),否则 vagrant 将用随机生成的密钥替换该密钥,存储在 .vagrant/machines/{machinename}/{providername}/private_key

    您可以在 ssh_config 中使用该密钥

  • 如果连接来自本地主机而不是来自“外部”IP 地址,那么您的 MySQL 设置会有所不同。

于 2016-05-16T17:12:26.847 回答