3

每当我尝试连接到本地 Vagrant 时,ssh vagrant@127.0.0.1:2222从 Windows git bash 运行时都会收到此错误:

ssh: connect to host 127.0.0.1:2222 port 22: Bad file number

它以前工作过,所以我不确定是什么原因造成的。当我尝试在 PHPStorm 8 中进行 SFTP 连接时,我收到此错误:

Connection to '127.0.0.1' failed.
SSH_MSG_DISCONNECT: 2 Too many authentication failures for vagrant 

我已经尝试过vagrant destroyvagrant box remove laravel/homestead然后从以前使用过的备份中重新创建该框,vagrant box add laravel/homestead homestead.box但我仍然遇到相同的错误。

我在 Windows 7 上。

我该怎么做才能再次访问我的 vagrant box 命令行?

4

4 回答 4

3

试试命令:

ssh -p 2222 vagrant@127.0.0.1

于 2015-02-27T17:18:53.103 回答
3

我相信上面outboundexplorer的答案是正确的。
这是我如何做到这一点的分步方法:

第 1 步:准确了解要使用的 SSH 设置

确保 vagrant box 正在运行(你已经完成vagrant up了)

从命令行,转到您的项目目录(Vagrantfile 所在的目录)并运行vagrant ssh-config.

你会得到这样的输出:

Host default
    HostName 127.0.0.1
    User ubuntu
    Port 2222
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking no
    PasswordAuthentication no
    IdentityFile C:/Projects/my-test-project/.vagrant/machines/default/virtualbox/private_key
    IdentitiesOnly yes
    LogLevel FATAL

第 2 步:将 PHPStorm 设置为 SFTP 到 Vagrant 框

根据上面显示的配置设置,我设置了以下 SFTP 远程部署服务器:

  • SFTP 主机:127.0.0.1
  • 端口:2222
  • 根路径:(/home/ubuntu/my-test-project这是文件将上传到的 Vagrant 框中的文件夹,更改为适合您需要的任何内容)
  • 用户名:ubuntu
  • 验证类型:选择“密钥对(OpenSSH 或 PuTTY)”
  • 私钥文件:指向IdentityFile显示的路径(C:/Projects/....)

......就是这样。

于 2017-02-11T08:19:51.233 回答
1

当使用 PHpStorm SSH 到我用 Vagrant 设置的 VirtualBox 来宾机器时,我遇到了同样的失败。在升级到 Windows 10 之前一切正常。升级后,首先我必须升级到 VirtualBox 和 Vagrant 最新版本才能在 Windows 10 上正常运行。

但后来我无法使用 PhpStorm ssh 客户端 ssh 进入来宾机器。经过大量阅读,一切似乎都表明我在 Windows 机器上安装了太多 ssh 密钥,但检查regedit表明我只有几个密钥,应该少于建议的最大 5 个密钥(默认情况下)。最后,我做vagrant ssh了不允许我 ssh 进入来宾机器的操作,但它确实为我重新确认了 ssh 详细信息。然后我意识到,在所有新安装之后,它不希望我使用C:\Users\Andy\.vagrant.d\insecure_private_key密钥,而是使用它放置在项目本身中的密钥C:/Users/Andy/CodeLab5/vagrant/.vagrant/machines/default/virtualbox/private_key

现在一切都正常了:)

于 2016-02-12T06:46:54.657 回答
0

通过命令确保您的 vagrant 已启动并运行: vagrant up

然后做vagrant ssh。它将连接到 vagrant localhost

于 2015-02-27T05:45:02.450 回答