Ubuntu xenial64 пароль от коробки?


35

Наверное, глупый вопрос, но

Я раньше использовал коробку trusty64 с vagrant и пробовал коробку xenial64, но она не принимает обычного пользователя: vagrant password: vagrant login?



1
Так кто же тогда новый пользователь? пользователь: Ubuntu пароль: ???
KillerSnail

9
Кто-нибудь знает пароль для пользователя Ubuntu?
Виктор Бочарский

3
Краткий комментарий, потому что пока нет принятого ответа ... Вы можете найти ПАРОЛЬ в:, ~/.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

К вашему сведению, пользователь @racb упоминает в том же обсуждении, что и this bug report having been filed в Ubuntu, и до сих пор no [...] decision has been made yetоб этом.


В этом месте для меня нет файла
Феликс Ив

2
Я нашел его по адресу ~ \ .vagrant.d \ boxes \ ubuntu-VAGRANTSLASH-xenial64 \ 20170331.0.0 \ virtualbox \ Vagrantfile (в Windows)
Роб Х

Работал отлично. Мой путь был, ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170317.0.0/virtualboxно получил идею, где искать пароль.
Ariful Haque

2
Этот ответ должен быть принятым ответом!
Sangar82

1
- Безопасно ли менять имя пользователя и пароль на «vagrant: vagrant»? - Обновление : Нет; vagrant reload запросит пароль для vagrant@127.0.0.1 и не примет значение, которое вы там использовали.
Юха Унтинен,

11

Вчера я бился головой об стену в течение полдня, пока не понял, что использую старую версию Virtualbox (5.0.x) и Vagrant (1.8.0).

Обновлен до VirtualBox 5.1.x и Vagrant 1.8.7 и получил лучшие результаты

В основном, ubuntu/xenial32и ubuntu/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пользователь будет там, они сломаются



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-ключ, сгенерированный в вашей папке vagrant.

Допустим, ваш Vagrantfile находится в /vagrant/vm01/Vagrantfile, ssh-ключ будет в/vagrant/vm01/.vagrant/machines/..../private_key

Вы можете войти в свой vagrant 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, пароль для него не настроен.

  • Имя пользователя по умолчанию: vagrant
  • Хост по умолчанию: 127.0.0.1:2222
  • Ключ SSH по умолчанию: C: /Vagrant/.vagrant/machines/default/virtualbox/private_key

Вы можете войти в свою виртуальную машину с помощью команды:

 vagrant ssh

или

ssh -i private_key vagrant:127.0.0.1 -p 2222

0

Если вы не заинтересованы в ubuntu/xenial64коробке, но в любой другой коробке 16.04 LTS я использовал bento, который работает с обычным 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.