Вероятно, глупый вопрос, но
Я использовал trusty64 поле прежде с бродягой, и пробовал xenial64 поле, но оно не принимает обычного пользователя: бродячий пароль: бродячий вход в систему?
Как упоминают пользователем @prometee в этом обсуждении панели запуска #1569237, можно найти пароль в:
~/.vagrant.d/ubuntu-VAGRANTSLASH-xenial64/20161221.0.0/virtualbox/Vagrantfile
или:
~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20161221.0.0/virtualbox/Vagrantfile
в зависимости от Вашей версии Бродяги. (Отметьте 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
к человечности и до сих пор no [...] decision has been made yet
об этом.
Путь состоит в том, чтобы установить, ожидают и инициируют изменение пароля. Пример ниже устанавливает человечность пароля на пользовательскую человечность.
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
Новое 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 использование нового имени пользователя и пароля.
Если Вы не интересуетесь ubuntu/xenial64
поле, но какие-либо другие 16.04 полей LTS, я использовал тот бенто, который работает с обычным vagrant
имя пользователя и пароль:
config.vm.box = 'bento/ubuntu-16.04'
config.vm.box_version = "201708.22.0"
Можно произвести 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
Я ударил головой о стену в течение половины дня вчера, пока я не понял, что выполнял старую версию Virtualbox (5.0.x) и Бродяга (1.8.0)
Обновленный к VirtualBox 5.1.x и Бродяге 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
пользователь, чтобы быть там они повредятся
Это было зафиксировано наконец (2018/01/13): https://bugs.launchpad.net/cloud-images / + bug/1569237/comments/111
Можно хотеть работать vagrant box update
и затем vagrant destroy
.
I'am с помощью Бродяги в Windows и изображении ubuntu/xenial64 никакой пароль настроен для него.
Можно войти в поле VM через команду:
vagrant ssh
или
ssh -i private_key vagrant:127.0.0.1 -p 2222
После vagrant up
для запуска виртуальной машины вы можете vagrant ssh
войти в систему.
Запустите vagrant help
для получения дополнительной информации.