使用`Vagrant SSH后的Vagrant SSH隧道`
我的MySQL客户端(Sequel Pro)设置为通过SSH连接到Vagrant。我在使用`Vagrant SSH后的Vagrant SSH隧道`,ssh,virtual-machine,vagrant,sequelpro,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 box,Sequ
~/.ssh/config
文件中设置了以下内容:
Host vagrant
HostName 127.0.0.1
CheckHostIP no
Port 2222
User vagrant
IdentityFile ~/.vagrant.d/insecure_private_key
如果我没有运行vagrant ssh
,一切都正常。但是一旦我用这个命令登录到Vagrant box,Sequel Pro就不能再通过SSH连接了——它只是说“SSH隧道意外关闭了。”所以我必须运行Vagrant reload
,然后才能连接到MySQL服务器
有人知道如何解决这个问题吗?我通过使用端口转发而不是SSH隧道来解决这个问题。我将以下内容添加到Vagrant文件中:
config.vm.network :forwarded_port, guest: 3306, host: 8306
然后通过端口连接到MySQL
8306
我遇到了类似的问题。我挣扎了一整天。我甚至走了杰弗里路。还是有问题。我甚至改变了Vagrant文件中的转发端口号,并尽了一切可能。但是,下面这句话救了我的命
当我做了比我看到的更多的流浪装时
default: 22 => 2200 (adapter 1)
但是,我所做的是在sequel pro中设置连接时,我编写了SSH端口:2222
我是根据上面链接的视频做的。
但当我换到我在Wagrant reload中看到的号码时,它要求我进行验证。我确实选择了“是”。
而且,它确实连接起来了。经过一天的奋斗,大团圆结局。
这是写给未来的读者的,希望某个地方的人不会因为这个原因像我一样花一天的时间 我也遇到了同样的问题,结果它是我的
已知主机
文件中的一个旧密钥
所以,我做到了:
$ vi ~/.ssh/known_hosts
转到上面有127.0.0.1:2200
的行,然后命令dd
删除该行。:x
保存,砰的一声,鲍勃的叔叔。连接已授予,Jambi万岁
我希望这能帮别人省去一些悲伤。干杯。尝试从vagrant project文件夹加载另一个密钥
例如{vagrant_project}/.vagrant/machines/default/virtualbox/private_key除上述问题外,还可能存在以下问题之一:
- “不安全的私钥”仅在第一次打开该框时使用。除非您禁用了该功能(insert_key=false),否则vagrant将用随机生成的密钥替换该密钥,该密钥存储在.vagrant/machines/{machinename}/{providername}/private_key中 您可以在ssh\u配置中使用该密钥
- 如果连接来自本地主机而不是“外部”IP地址,那么您的MySQL设置会做一些不同的事情
127.0.0.1
+的known_hosts
条目;编辑my.cnf
文件以进行各种更改等。重要的是,这似乎是正确的解决方案。这为我做到了!谢谢另外请注意,如果您的Vagrant文件指定了一个:private_network
ip地址,您还必须从已知_主机
中删除该行。“砰,鲍勃的叔叔”——我喜欢。哈哈,就因为提到我叔叔,就投票吧。他会很高兴的当您将端口9001从Internal vagrant转发回我的本地机器(127.0.0.1)和端口9002(如ssh-L 9002:127.0.0.1:9001 vagrant)时,您的问题为我带来了奇迹