Vagrant ssh 连接到主机 127.0.0.1:2222 端口 22:错误文件号
Vagrant ssh connect to host 127.0.0.1:2222 port 22: Bad file number
每当我尝试连接到本地 Vagrant 时,当我从 Windows git bash 运行 ssh vagrant@127.0.0.1:2222
时收到此错误:
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 destroy
和 vagrant box remove laravel/homestead
,然后从我以前使用 vagrant box add laravel/homestead homestead.box
工作过的备份重新创建框,但我仍然遇到相同的错误。
我在 Windows 7.
我该怎么做才能再次访问我的 vagrant box 命令行?
确保你的 vagrant 已经启动并且 运行 通过命令:vagrant up
然后执行 vagrant ssh。它将连接到 vagrant localhost
尝试命令:
ssh -p 2222 vagrant@127.0.0.1
我在使用 PHpStorm 通过 SSH 连接到我用 Vagrant 设置的 VirtualBox 来宾计算机时遇到了同样的失败。在我升级到 Windows 10 之前一切正常。升级后,首先我必须升级到 VirtualBox 和 Vagrant 最新版本才能让一切在 Windows 10.
上运行
但是后来我无法使用 PhpStorm ssh 客户端 ssh 进入来宾计算机。经过大量阅读,一切似乎都表明我在我的 Windows 机器上安装了太多的 ssh-keys,但是检查 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
.
中的键
现在一切正常:)
我认为以上 outboundexplorer 的回答是正确的。
这是我的 step-by-step 方法:
第 1 步:准确找出要使用的 SSH 设置
确保 vagrant box 运行ning(你已经完成 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 box
根据上面显示的配置设置,我设置了以下 SFTP 远程部署服务器:
- SFTP 主机:127.0.0.1
- 端口:2222
- 根路径:
/home/ubuntu/my-test-project
(这是Vagrant box里面的文件夹,文件会上传到这个文件夹,根据自己的需要更改)
- 用户名:ubuntu
- 授权类型:Select "Key pair (OpenSSH or PuTTY)"
- 私钥文件:指向显示的
IdentityFile
路径(C:/Projects/....)
...就是这样。
每当我尝试连接到本地 Vagrant 时,当我从 Windows git bash 运行 ssh vagrant@127.0.0.1:2222
时收到此错误:
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 destroy
和 vagrant box remove laravel/homestead
,然后从我以前使用 vagrant box add laravel/homestead homestead.box
工作过的备份重新创建框,但我仍然遇到相同的错误。
我在 Windows 7.
我该怎么做才能再次访问我的 vagrant box 命令行?
确保你的 vagrant 已经启动并且 运行 通过命令:vagrant up
然后执行 vagrant ssh。它将连接到 vagrant localhost
尝试命令:
ssh -p 2222 vagrant@127.0.0.1
我在使用 PHpStorm 通过 SSH 连接到我用 Vagrant 设置的 VirtualBox 来宾计算机时遇到了同样的失败。在我升级到 Windows 10 之前一切正常。升级后,首先我必须升级到 VirtualBox 和 Vagrant 最新版本才能让一切在 Windows 10.
上运行但是后来我无法使用 PhpStorm ssh 客户端 ssh 进入来宾计算机。经过大量阅读,一切似乎都表明我在我的 Windows 机器上安装了太多的 ssh-keys,但是检查 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
.
现在一切正常:)
我认为以上 outboundexplorer 的回答是正确的。
这是我的 step-by-step 方法:
第 1 步:准确找出要使用的 SSH 设置
确保 vagrant box 运行ning(你已经完成 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 box
根据上面显示的配置设置,我设置了以下 SFTP 远程部署服务器:
- SFTP 主机:127.0.0.1
- 端口:2222
- 根路径:
/home/ubuntu/my-test-project
(这是Vagrant box里面的文件夹,文件会上传到这个文件夹,根据自己的需要更改) - 用户名:ubuntu
- 授权类型:Select "Key pair (OpenSSH or PuTTY)"
- 私钥文件:指向显示的
IdentityFile
路径(C:/Projects/....)
...就是这样。