无法登录到通过 Test Kitchen 管理的 Vagrant boxes
Cannot Login Into Vagrant boxes managed via Test Kitchen
我有一个非常样板的 .kitchen.yml
以下内容:
---
driver:
name: vagrant
platforms:
- name: ubuntu-14.04
suites:
- name: default
run_list:
- recipe[webserver::default]
当我 运行 kitchen converge
我得到以下信息:
==> default: Setting hostname...
==> default: Replaced insecure vagrant key with less insecure key!
==> default: Machine not provisioned because `--no-provision` is specified.
Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
.....
......
停止谷歌搜索后,我了解到 Vagrant 1.7+
将默认的 ssh 密钥替换为他们认为的 less insecure key
。
有 config.ssh.insert_key = false
但由于以下原因它不起作用:
已将 kitchen.yml 更新为 insert_key = false
1.1 这不起作用,因为生成的 Vagrantfile
具有布尔值 false
作为 "false" string!
尝试使用全局 Vagrantfile
file
2.1 这没有用,就好像文件还没有被读取一样!
尝试自己搭建盒子,但没有成功。
有人设法修复或解决这个问题吗?
我从 vagrant
降级到 1.8.4
从 1.8.5
并且成功了。
我不得不 运行 kitchen destroy blah
删除使用 1.8.5
创建的实例。然后,当我运行 kitchen converge blah
时,它起作用了。
注意这个问题只发生在 Centos 机器上,而不是在 Ubuntu 机器上。
kitchen-vagrant
驱动程序已经修复。
您可以更新它,或手动进行更改:
https://github.com/test-kitchen/kitchen-vagrant/commit/3178e84b65d3da318f818a0891b0fcc4b747d559
那么这个 .kitchen.yml
就可以了:
driver:
name: vagrant
ssh:
insert_key: false
显然其他修复解决了最初 post-er 的问题,但不是我的。发在这里以防对其他人有用...
解决这个问题几个小时后,我终于在 VirtualBox 管理器中注意到,在 Settings/Network/Advanced 下,"Cable Connected" 复选框未选中!
卧槽,我的虚拟机的虚拟网线不是"connected?"(大叹)
我通过将此添加到我的 .kitchen.yml 文件解决了这个问题:
driver:
name: vagrant
customize:
cableconnected1: 'on'
我不知道为什么虚拟机会出现未插入的电缆。我不认为我的解决方法是自然的解决方案,但这是我所拥有的并且有效。
更新:更新版本的 Vagrant 和 VBox 不再需要它,对于所有现在通过 Google 找到它的人来说。
我遇到了同样的问题,我只需要更新 kitchen-vagrant gem。您可以通过首先查看您安装了哪个 gem 来执行此操作
$ gem list
...
kitchen-vagrant (0.20.0)
...
然后执行 gem update kitchen-vagrant
并重试 kitchen verify
命令。
kitchen-vagrant 维护者在这里让大家知道这个问题完全与 Vagrant、VirtualBox 和便当盒矩阵有关。
检查版本:
VBoxManage --version
vagrant --version
vagrant box list | grep bento/
简而言之,有一系列粗略的 Vagrant 和 VirtualBox 版本引起了各种各样的破坏,因此根据便当盒 built/tested 对您不利的版本,您可能会或可能不会遇到它。
目前,已知以下配置有效,最后是什么:
kitchen-vagrant 1.2.1
Vagrant 2.0.0
VirtualBox 5.1.28
bento boxes version 201708.22.0+
用户可以查看 Vagrant Cloud 上的盒子,看看任何给定的盒子是针对什么进行测试的,例如bento/14.04 version 201708.22.0。目前它是一个丑陋的 JSON 斑点,但非常有用,因为你可以看到这个是 built/tested 反对的。任何上传的盒子 运行 都通过厨房 运行 不仅测试其基本功能,还测试它对大多数*平台的共享文件夹支持。
*这里的大多数指的是除了已知问题发行版和 FreeBSD 之外的几乎所有东西
对我有用的配置是:
PS> vboxmanage --version
5.1.26r117224
PS> gem list | grep kitchen-vagrant
kitchen-vagrant (1.2.1)
PS> vagrant --version
Vagrant 1.9.6
使用 ChefDK 2.3.4.1。
我有一个非常样板的 .kitchen.yml
以下内容:
---
driver:
name: vagrant
platforms:
- name: ubuntu-14.04
suites:
- name: default
run_list:
- recipe[webserver::default]
当我 运行 kitchen converge
我得到以下信息:
==> default: Setting hostname...
==> default: Replaced insecure vagrant key with less insecure key!
==> default: Machine not provisioned because `--no-provision` is specified.
Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
.....
......
停止谷歌搜索后,我了解到 Vagrant 1.7+
将默认的 ssh 密钥替换为他们认为的 less insecure key
。
有 config.ssh.insert_key = false
但由于以下原因它不起作用:
已将 kitchen.yml 更新为
insert_key = false
1.1 这不起作用,因为生成的
Vagrantfile
具有布尔值false
作为 "false" string!尝试使用全局
Vagrantfile
file2.1 这没有用,就好像文件还没有被读取一样!
尝试自己搭建盒子,但没有成功。
有人设法修复或解决这个问题吗?
我从 vagrant
降级到 1.8.4
从 1.8.5
并且成功了。
我不得不 运行 kitchen destroy blah
删除使用 1.8.5
创建的实例。然后,当我运行 kitchen converge blah
时,它起作用了。
注意这个问题只发生在 Centos 机器上,而不是在 Ubuntu 机器上。
kitchen-vagrant
驱动程序已经修复。
您可以更新它,或手动进行更改: https://github.com/test-kitchen/kitchen-vagrant/commit/3178e84b65d3da318f818a0891b0fcc4b747d559
那么这个 .kitchen.yml
就可以了:
driver:
name: vagrant
ssh:
insert_key: false
显然其他修复解决了最初 post-er 的问题,但不是我的。发在这里以防对其他人有用...
解决这个问题几个小时后,我终于在 VirtualBox 管理器中注意到,在 Settings/Network/Advanced 下,"Cable Connected" 复选框未选中! 卧槽,我的虚拟机的虚拟网线不是"connected?"(大叹)
我通过将此添加到我的 .kitchen.yml 文件解决了这个问题:
driver:
name: vagrant
customize:
cableconnected1: 'on'
我不知道为什么虚拟机会出现未插入的电缆。我不认为我的解决方法是自然的解决方案,但这是我所拥有的并且有效。
更新:更新版本的 Vagrant 和 VBox 不再需要它,对于所有现在通过 Google 找到它的人来说。
我遇到了同样的问题,我只需要更新 kitchen-vagrant gem。您可以通过首先查看您安装了哪个 gem 来执行此操作
$ gem list
...
kitchen-vagrant (0.20.0)
...
然后执行 gem update kitchen-vagrant
并重试 kitchen verify
命令。
kitchen-vagrant 维护者在这里让大家知道这个问题完全与 Vagrant、VirtualBox 和便当盒矩阵有关。
检查版本:
VBoxManage --version
vagrant --version
vagrant box list | grep bento/
简而言之,有一系列粗略的 Vagrant 和 VirtualBox 版本引起了各种各样的破坏,因此根据便当盒 built/tested 对您不利的版本,您可能会或可能不会遇到它。
目前,已知以下配置有效,最后是什么:
kitchen-vagrant 1.2.1
Vagrant 2.0.0
VirtualBox 5.1.28
bento boxes version 201708.22.0+
用户可以查看 Vagrant Cloud 上的盒子,看看任何给定的盒子是针对什么进行测试的,例如bento/14.04 version 201708.22.0。目前它是一个丑陋的 JSON 斑点,但非常有用,因为你可以看到这个是 built/tested 反对的。任何上传的盒子 运行 都通过厨房 运行 不仅测试其基本功能,还测试它对大多数*平台的共享文件夹支持。
*这里的大多数指的是除了已知问题发行版和 FreeBSD 之外的几乎所有东西
对我有用的配置是:
PS> vboxmanage --version
5.1.26r117224
PS> gem list | grep kitchen-vagrant
kitchen-vagrant (1.2.1)
PS> vagrant --version
Vagrant 1.9.6
使用 ChefDK 2.3.4.1。