【问题标题】:Vagrant SSH Tunnelling after using `vagrant ssh`使用 `vagrant ssh` 后的 Vagrant SSH 隧道
【发布时间】:2014-04-16 15:04:49
【问题描述】:

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

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

【问题讨论】:

  • 在将端口 9001 从 vagrant 内部转发回我的本地计算机 127.0.0.1 和端口 9002 时,如ssh -L 9002:127.0.0.1:9001 vagrant

标签: ssh virtual-machine vagrant sequelpro


【解决方案1】:

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

所以,我做到了:

$ vi ~/.ssh/known_hosts

转到上面有127.0.0.1:2200 的行,然后执行命令dd 删除该行。
:x 保存,然后 bam bob 的你叔叔。连接成功,占碑万岁。

我希望这可以减轻一些人的痛苦。干杯。

【讨论】:

  • 这对我有用!谢谢!另请注意,如果您的 vagrantfile 指定了:private_network ip 地址,您还必须从known_hosts 中删除该行。 “bam bob 的你叔叔”——很喜欢。哈哈。
  • 只为提及我的叔叔而投赞成票。他会很高兴。 :)
【解决方案2】:

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

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

然后通过端口8306连接到MySQL。

【讨论】:

  • 这是在运行 el capitan 的 mac 上对我有用的唯一解决方案。我已将权限添加到 mysql;删除了127.0.0.1known_hosts 条目+ 重新添加;编辑 my.cnf 文件以进行各种更改等。但重要的是,这似乎是正确的解决方案。
【解决方案3】:

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

当我做 vagrant reload 时比我看到的

  default: 22 => 2200 (adapter 1)

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

【讨论】:

  • 出于某种原因,我将其设置为端口 2222,我在 config.yaml 文件中注意到它指向 22,我在我的 sequel pro 设置中将其更改为端口 22,然后将其设置为我的.vagrant/machines/default/virtualbox/ 文件夹中的 private_key 文件
【解决方案4】:

尝试从带有 vagrant 项目的文件夹中加载另一个密钥
例如。 {vagrant_project}/.vagrant/machines/default/virtualbox/private_key

【讨论】:

    【解决方案5】:

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

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

      您可以在 ssh_config 中使用该密钥

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-09
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      相关资源
      最近更新 更多