Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用`Vagrant SSH后的Vagrant SSH隧道`_Ssh_Virtual Machine_Vagrant_Sequelpro - Fatal编程技术网

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

使用`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

我的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,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设置会做一些不同的事情


出于某种原因,我将其设置为端口2222,我注意到在config.yaml文件中它指向22,我在sequel pro设置中将其更改为端口22,然后将其设置为.vagrant/machines/default/virtualbox/folder中的私钥文件。这是在运行el capitan的mac上对我有效的唯一解决方案。我已经向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)时,您的问题为我带来了奇迹