vagrant只在第一时间提出密码' vagrant up'

时间:2015-07-09 00:33:52

标签: vagrant

我为CentOS 6.6制作了我的自定义流浪盒。 我的问题是为什么当我“流浪”时,流浪汉总是需要密码。在第一次。 这是控制台日志:

$ vagrant up
Bringing machine 'ns' up with 'virtualbox' provider...
==> ns: Clearing any previously set forwarded ports...
==> ns: Clearing any previously set network interfaces...
==> ns: Preparing network interfaces based on configuration...
    ns: Adapter 1: nat
    ns: Adapter 2: hostonly
==> ns: Forwarding ports...
    ns: 22 => 2222 (adapter 1)
==> ns: Running 'pre-boot' VM customizations...
==> ns: Booting VM...
==> ns: Waiting for machine to boot. This may take a few minutes...
    ns: SSH address: 127.0.0.1:2222
    ns: SSH username: vagrant
    ns: SSH auth method: private key
    ns: Warning: Connection timeout. Retrying...
    ns: Warning: Connection timeout. Retrying...
    ns: Warning: Remote connection disconnect. Retrying...
Text will be echoed in the clear. Please install the HighLine or Termios libraries to suppress echoed text.
vagrant@127.0.0.1's password: 

如你所见,vagrant要求输入密码。我打字后继续。在那之后,流浪汉从来没有在我做的时候问过它“流浪汉”。这种情况仅在第一次“流浪”时发生。 我想知道我的自定义框的设置,也许是ssh,是错的,但不知道问题所在。

任何人都可以猜出可能的原因吗?

环境: 流浪者的版本是1.7.2。主机操作系统是ubuntu 15.04,客户操作系统是CentOS 6.6。

3 个答案:

答案 0 :(得分:3)

您可能还想尝试默认的流浪汉密码:vagrant

答案 1 :(得分:2)

当Vagrant无法自动登录时,会要求输入密码。最明显的原因是Vagrant没有用户流浪者所需的用户密钥。然后你输入正确的密码和流浪汉交换密钥。之后这不再出现了。此密钥交换是每个实例的管理器,因此如果您销毁/删除实例,则下次再次请求手动登录时。

Vagrant在Github上提供了一个不安全的密钥,任何分布式公共可用的Vagrant盒都随之打包。您可以通过在机器内执行此键来放置此键:

if (refTopic == undefined) {
    getTopicsSelectBox(function(data) {
        console.log(typeof data);               //string
        var refTopic = $.parseJSON(data);
        console.log(typeof refTopic);           //object
        console.log(refTopic instanceof Array); //false

        console.log(refTopic[i].REFTOPICID);    //undefined
    });
}

另一种方法是使用您自己的私钥并配置Vagrantfile以使用特定密钥: Vagrant SSH Config

Vagrant本身会立即识别并交换不安全密钥,并将其交换为安全密钥。因此,您必须使用Hashicorp Packer设置此密钥。

答案 2 :(得分:0)

当我遇到这个问题并输入时,我输入了密码“vagrant”。请参阅此Vagrant Github issue。另请参阅此stackoverflow question