ubuntu xenial64 box box?


35

Можливо, дурне питання, але

Раніше я використовував вікно trusty64 з вагрантом і намагався поле xenial64, але воно не приймає звичайного користувача: пароль бродячого: вхід для бродяг?



1
То який же новий користувач тоді? користувач: пароль ubuntu: ???
KillerSnail

9
Хтось знає пароль для *** користувача для ubuntu?
Віктор Бочарський

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

Відповіді:


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

FYI, користувач @racb в тій же дискусії згадує, що this bug report having been filed до ubuntu і поки що no [...] decision has been made yetпро це.


У цьому місці для мене немає файлу
Felix Eve

2
Я знайшов це у ~ \ .vagrant.d \ box \ 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

1
-Чи безпечно змінити ім'я користувача та пароль на "vagrant: vagrant"? - Оновлення : Nope; 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/xenial32та ubuntu/xenial64зображення є помилковими, оскільки вони не виходять із 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користувач, вони будуть порушені



3

Спосіб - встановити очікувати та ініціювати зміну пароля. Наведений нижче приклад встановлює пароль 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зображення не має стандартного імені користувача та пароля. Однак ви можете ssh за допомогою ssh-ключа, створеного у вашій бродячій папці.

Скажімо, у вашому Vagrantfile увімкнено /vagrant/vm01/Vagrantfileключ ssh/vagrant/vm01/.vagrant/machines/..../private_key

Ви можете увійти у свій бродячий vm за допомогою цього 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

Ви можете вивести дійсну конфігурацію OpenSSH для підключення до машини, набравши vagrant ssh-configвсередині папки Vagrantfile. Вихід покаже вам, що автентифікація пароля вимкнена, проте ви можете вказати на файл приватного ключа:

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

Я використовую Vagrant в Windows і зображення ubuntu / xenial64 для нього не налаштований пароль.

  • Ім'я користувача за замовчуванням: бродячий
  • Хост за замовчуванням: 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"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.