ubuntu xenial64盒子密码?


35

可能是一个愚蠢的问题,但

我之前使用过vagrant的trusty64框,并尝试过xenial64框,但它不接受通常的用户:vagrant密码:vagrant登录?



1
那么,新用户又是什么呢?用户:ubuntu密码:???
KillerSnail16年

9
有人知道ubuntu用户的密码吗?
Victor Bocharsky '16

3
简短的评论,因为尚无可接受的答案...您可以在以下位置找到PASS ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170311.0.0/virtualbox/Vagrantfile,其中“ 20170311.0.0”应为不同的目录名称...因此请转到~/.vagrant.d/boxes/并找到您的盒子和无用信息的文件。
部长

2
我切换到bento/ubuntu-16.04盒子上,它解决了很多问题。
jchook

Answers:


30

正如用户@prometee在此启动板讨论#1569237中提到的那样,您可以在以下位置找到密码:

~/.vagrant.d/ubuntu-VAGRANTSLASH-xenial64/20161221.0.0/virtualbox/Vagrantfile

要么:

~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20161221.0.0/virtualbox/Vagrantfile

取决于您的Vagrant版本。(请注意,20161221.0.0路径的部分会根据下载该框的时间而有所不同。此外,目录中可能有多个。)

这是我的(第8行):

# 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 = "022999D56C03"
  config.ssh.username = "ubuntu"
  config.ssh.password = "fbcd1ed4fe8c83b157dc6e0f"

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

仅供参考,用户@racb在相同的讨论中提到了this bug report having been filed ubuntu以及到目前为止no [...] decision has been made yet


对于我而言,该位置没有文件
Felix Eve

2
我在〜\ .vagrant.d \ boxes \ ubuntu-VAGRANTSLASH-xenial64 \ 20170331.0.0 \ virtualbox \ Vagrantfile中找到它(在Windows中)
Rob H

工作完美。我的路径是~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170317.0.0/virtualbox但知道在哪里寻找密码。
Ariful Haque

2
此答案必须是已接受的答案!
Sangar82 '17

1
-在其中将用户名和密码更改为“ vagrant:vagrant”是否安全?- 更新:否;vagrant reload将要求输入vagrant@127.0.0.1的密码,并且不会接受您在此处使用的值。
Juha Untinen

11

昨天我把头撞在墙上半天,直到意识到自己正在运行旧版本的Virtualbox(5.0.x)和Vagrant(1.8.0)

更新到VirtualBox 5.1.x和Vagrant 1.8.7,并获得了更好的结果

基本上,ubuntu/xenial32ubuntu/xenial64图像是有缺陷的,因为它们不是vagrant用户开箱即用的。

这违反了Vagrant 规范

我最终v0rtex/xenial64按照此错误报告中的建议使用了。不知道为什么canonical不解决这个问题

我的流浪文件如下

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "v0rtex/xenial64"

  config.vm.network :private_network, ip: "10.10.10.10"

  config.ssh.username = 'vagrant'
  config.ssh.password = 'vagrant'

  config.vm.provider :virtualbox do |vb|
     vb.name = "supercool"
     vb.customize ["modifyvm", :id, "--memory", "768"]
     vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end

end

如果您仍想使用canonical提供的图像,则可以使用以下方法

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "ubuntu/xenial64"

  config.vm.network :private_network, ip: "10.10.10.10"

  config.ssh.insert_key = true
  config.ssh.forward_agent = true

  config.vm.provider :virtualbox do |vb|
     vb.name = "supercool"
     vb.customize ["modifyvm", :id, "--memory", "768"]
     vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end

end

如果执行此操作,则该/vagrant文件夹将由ubuntu:ubuntu而不是拥有vagrant:vagrant。如果您有依赖vagrant用户的脚本,它们将会中断


4

最后(2018/01/13)已修复:https ://bugs.launchpad.net/cloud-images/+bug/1569237/comments/111

您可能要先运行vagrant box update然后再运行vagrant destroy


您也可以将其添加到您的Vagrant文​​件中:config.vm.box_check_update = true config.vm.box_version =“ 20180112.0.0”
ojrac

3

一种方法是安装Expect并启动密码更改。下面的示例将密码ubuntu设置为用户ubuntu。

Vagrant.configure("2") do |config|
    apt-get install -y expect
    echo '#!/usr/bin/expect
      set timeout 20
      spawn sudo passwd ubuntu
      expect "Enter new UNIX password:" {send "ubuntu\\r"}
      expect "Retype new UNIX password:" {send "ubuntu\\r"}
      interact' > change_ubuntu_password
    chmod +x change_ubuntu_password
  ./change_ubuntu_password
end

1

ubuntu/xenial64图像没有默认的用户名和密码。但是,您可以使用在vagrant文​​件夹中生成的ssh密钥来ssh。

假设您的Vagrantfile位于/vagrant/vm01/Vagrantfile,ssh-key位于/vagrant/vm01/.vagrant/machines/..../private_key

您可以使用this登录到无业游民的虚拟机private_key。如果访客计算机要求输入密钥的密码短语,则只需单击即可ENTER(指定空白密码短语)。例如,在我的Mac上:

ssh -i /vagrant/vm01/.vagrant/..../private_key <your vm ip> <your vm port>

如果仍要使用用户名和密码登录,则在使用private_key登录后,可以添加自己的用户以供以后登录:

# create a user for log in
sudo useradd yourusername

# specify a password
sudo passwd yourusername
# then type your password when prompted

# add the user to sudo group
sudo adduser yourusername sudo    

# create a home folder for your user
sudo mkdir /home/yourusername

# add a shell command for your user (normally /bin/bash)
sudo vim /etc/passwd
# find yourusername line, and add /bin/bash to the end.
# the end result would look like this:
yourusername:x:1020:1021::/home/yourusername:/bin/bash

现在,您可以使用新的用户名和密码ssh。


1

您可以通过vagrant ssh-config在Vagrantfile文件夹中键入内容来输出OpenSSH有效配置以连接到计算机。输出将显示密码验证已禁用,但是您可以指向私钥文件:

Host default
  HostName 127.0.0.1
  User ubuntu
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /path/to/project/folder/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

现在你可以:

ssh -i /path/to/project/folder/.vagrant/machines/default/virtualbox/private_key ubuntu@machine-ip

1

我正在Windows上使用Vagrant,并且ubuntu / xenial64的映像没有配置密码。

  • 默认用户名:vagrant
  • 默认主机:127.0.0.1:2222
  • 默认SSH密钥:C:/Vagrant/.vagrant/machines/default/virtualbox/private_key

您可以通过以下命令登录到VM框:

 vagrant ssh

ssh -i private_key vagrant:127.0.0.1 -p 2222

0

如果您对ubuntu/xenial64包装盒不感兴趣,但对其他16.04 LTS包装盒不感兴趣,那么我会使用便当盒装,它可以使用通常的vagrant用户名和密码:

config.vm.box = 'bento/ubuntu-16.04'
config.vm.box_version = "201708.22.0"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.