【问题标题】:Vagrant up keep asking for a passwordVagrant up 不断要求输入密码
【发布时间】:2017-08-02 21:19:31
【问题描述】:

一开始我收到了这个错误:

文本将以清晰的形式回显。请安装 HighLine 或 用于抑制回显文本的 Termios 库。

vagrant@127.0.0.1的密码:

然后我安装了:HighLine

现在我只得到:

vagrant@127.0.0.1的密码:

我试过用vagrant有密码。

我没有工作。我试过我的电脑密码,还是不行。

所以我不知道我应该使用什么密码。

这一切都是在我添加了这些设置之后开始的(在 Vagrantfile 中):

config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
config.ssh.keys_only = true
config.ssh.insert_key = true

有人可能会问我为什么要使用这些设置(因为通常 vagrant 是默认的用户名和密码)。原因是由于某些原因该框生成了一些随机密码并使用 ubuntu 具有用户名。

# Front load the includes
include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
load include_vagrantfile if File.exist?(include_vagrantfile)

Vagrant.configure("2") do |config|
  config.vm.base_mac = "02357F2D68C4"
  config.ssh.username = "ubuntu"
  config.ssh.password = "1547c59e6cbdffd4104ad720"

  config.vm.provider "virtualbox" do |vb|
     vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
     vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "ubuntu-zesty-17.04-cloudimg-console.log") ]
  end
end

这位于:~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-zesty64/20170412.1.0/virtualbox

我尝试了这个解决方案,但它不起作用:

vagrant asks password at only the first time 'vagrant up'

那么密码是什么? 我该怎么做才能停止询问密码?


流浪者 1.9.1

本地操作系统:

没有可用的 LSB 模块。

分销商 ID:Ubuntu

描述:Ubuntu 17.04

发布:17.04

代号:热情

盒子:ubuntu/zesty64(虚拟盒子,20170412.1.0)


更新 1

$ vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'ubuntu/zesty64' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'ubuntu/zesty64'
    default: URL: https://atlas.hashicorp.com/ubuntu/zesty64
==> default: Adding box 'ubuntu/zesty64' (v20170412.1.0) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/ubuntu/boxes/zesty64/versions/20170412.1.0/providers/virtualbox.box
==> default: Successfully added box 'ubuntu/zesty64' (v20170412.1.0) for 'virtualbox'!
==> default: Importing base box 'ubuntu/zesty64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/zesty64' is up to date...
==> default: Setting the name of the VM: -----
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 3306 (guest) => 3306 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: password
    default: Warning: Connection reset. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
vagrant@127.0.0.1's password: 
vagrant@127.0.0.1's password: 
    default: Warning: Authentication failure. Retrying...
vagrant@127.0.0.1's password: ==> default: Waiting for cleanup before exiting...
Vagrant exited after cleanup due to external interrupt.

【问题讨论】:

  • 如果没有盒子,而你又找了一个新盒子,它是否会说“找到不安全的密钥。替换...”?
  • 有一个盒子。我应该在哪里看到“找到不安全的密钥。替换...”?
  • 如果您从头开始创建一个新盒子,它将导入基本盒子,您应该会看到几行以“client”开头的行。应该说“检测到 Vagrant 不安全的密钥。Vagrant 将自动用新生成的密钥对替换它以提高安全性”,但只有在生成新盒子时才会这样说。如果没有,那么您的密钥可能没有被复制,因此您无法登录。
  • 我确实试过这个:stackoverflow.com/questions/31306192/… 但它不起作用。我会尝试重新加载盒子。
  • @NathanSmith 我刚刚添加了更新 1。这也是您所指的吗?您需要更多信息吗?

标签: ssh vagrant vagrantfile


【解决方案1】:

Vagrant 的官方文档指出,“vagrant”用户的默认密码是
vagrant 本身。 去他们的Official Website了解更多

【讨论】:

  • 其实看你使用的Box。
  • "如果您喜欢使用 vagrant 登录虚拟机,您首先需要创建 vagrant 用户,您也可以下载公钥。" 〜弗雷德里克亨利
  • 使用 ubuntu/trusty64 像老板一样工作,感谢发帖!
【解决方案2】:

我认为你有些困惑。

config.ssh.username 将引用用于登录的用户,但 此用户必须存在 在 VM 中,您不能决定使用自己的名称,它会起作用;如果虚拟机中没有对应的用户,则无法使用。

Vagrant 建议使用基于密钥的身份验证而不是密码,但是当您创建盒子时(通常使用 packer.io),您可以决定使用密码身份验证方法。

在 ubuntu/zesty64 盒子的情况下,这就是所有者决定做的事情,它只创建了 ubuntu 用户并决定使用密码进行身份验证。

如果您更喜欢使用 vagrant 登录虚拟机,您首先需要创建vagrant 用户,您也可以下载public key。进行这些更改后,您可以重新包装盒子,以便将来如果您想重复使用,所有设置都将保留。 您还可以查看使用 packer 构建自己的盒子,github 上有大量可用的模板可供您重复使用。

【讨论】:

    猜你喜欢
    • 2021-05-31
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 2019-07-24
    相关资源
    最近更新 更多