senha da caixa do ubuntu xenial64?

35

Provavelmente uma pergunta estúpida, mas

Eu usei a caixa trusty64 antes com o vagrant e estava tentando a caixa xenial64, mas ela não aceita o usuário comum: senha vagrant: login vagrant?

KillerSnail
fonte
1
Então, qual é o novo usuário? usuário: senha do ubuntu: ???
usar o seguinte código
9
Alguém sabe a senha para o usuário do ubuntu?
Victor Bocharsky
3
Breve comentário, porque ainda não há resposta aceita ... Você pode encontrar o PASS no ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170311.0.0/virtualbox/Vagrantfile:, onde "20170311.0.0" deve ter um nome de diretório diferente ... então acesse ~/.vagrant.d/boxes/e encontre sua caixa e arquivo vagrant.
Ministro
2
Troquei para a bento/ubuntu-16.04caixa e ela resolveu uma série de problemas.
jchook

Respostas:

30

Como mencionado pelo usuário @prometee nesta discussão da barra de ativação # 1569237 , você pode encontrar a senha em:

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

ou:

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

dependendo da sua versão do Vagrant. (Observe que a 20161221.0.0parte do caminho variará dependendo de quando a caixa foi baixada. Além disso, pode haver mais de uma no seu diretório.)

Aqui está o meu (linha 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, o usuário @racb menciona na mesma discussão que o this bug report having been filed ubuntu e até agora no [...] decision has been made yet.

Voncay
fonte
Não há nenhum arquivo no local para mim
Felix Eve
2
Eu encontrei-o em ~ \ .vagrant.d \ boxes \ ubuntu-VAGRANTSLASH-xenial64 \ 20170331.0.0 \ virtualbox \ Vagrantfile (no Windows)
Rob H
Funcionou perfeitamente. Meu caminho foi, ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170317.0.0/virtualboxmas tive a idéia de onde procurar a senha.
Ariful Haque
2
Esta resposta deve ser a resposta aceita!
Sangar82
1
-É seguro alterar o nome de usuário e a senha para "vagrant: vagrant" aí? - Atualização : Não; O vagrant reload solicitará uma senha para [email protected] e não aceitará o valor que você usou lá.
Juha Untinen
11

Eu bati minha cabeça contra a parede por meio dia ontem até perceber que estava executando uma versão antiga do Virtualbox (5.0.x) e Vagrant (1.8.0)

Atualizado para o VirtualBox 5.1.xe Vagrant 1.8.7 e obteve melhores resultados

Basicamente, as imagens ubuntu/xenial32e ubuntu/xenial64são defeituosas, pois não vêm com o vagrantusuário pronto para uso.

Isso é contra as especificações do Vagrant

Acabei usando v0rtex/xenial64como recomendado neste relatório de bug . Não sei por que canonicalnão está corrigindo isso

Meu arquivo vagrant é o seguinte

# -*- 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

Se você ainda deseja usar as canonicalimagens fornecidas, é possível usar a seguinte abordagem

# -*- 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

Se você fizer isso, a /vagrantpasta pertencerá ao ubuntu:ubuntuinvés de vagrant:vagrant. Se você tiver scripts que contam com o vagrantusuário, eles irão quebrar

Stefano
fonte
3

Uma maneira é instalar esperar e iniciar uma alteração de senha. O exemplo abaixo define a senha ubuntu para o usuário 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
George Ploscaru
fonte
1

A nova ubuntu/xenial64imagem não vem com um nome de usuário e senha padrão. No entanto, você pode ssh usando uma chave ssh gerada na sua pasta vagrant.

Digamos que seu arquivo Vagrant esteja em /vagrant/vm01/Vagrantfile, a chave ssh estaria em/vagrant/vm01/.vagrant/machines/..../private_key

Você pode fazer login na sua vagrant vm usando isso private_key. Se a máquina convidada solicitar a senha da chave, basta pressionar ENTER(especificando uma senha em branco). Por exemplo, no meu Mac:

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

Se você ainda deseja fazer login usando nome de usuário e senha, após fazer login usando a private_key, você pode adicionar seu próprio usuário para fazer login mais tarde:

# 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

Agora você pode ssh usando o novo nome de usuário e senha.

Nguyen Phan Tan
fonte
1

Você pode gerar uma configuração válida do OpenSSH para conectar-se à máquina digitando vagrant ssh-configde dentro da sua pasta Vagrantfile. A saída mostrará que a autenticação de senha está desabilitada, no entanto, você pode apontar para o arquivo de chave privada:

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

Agora você pode:

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

Estou usando o Vagrant no Windows e a imagem do ubuntu / xenial64 sem senha configurada para ele.

  • Nome de usuário padrão: vagrant
  • Host padrão: 127.0.0.1:2222
  • Chave SSH padrão: C: /Vagrant/.vagrant/machines/default/virtualbox/private_key

Você pode fazer login na sua caixa da VM através do comando:

 vagrant ssh

ou pela

ssh -i private_key vagrant:127.0.0.1 -p 2222
ADV-IT
fonte
0

Se você não está interessado na ubuntu/xenial64caixa, mas em qualquer outra caixa 16.04 LTS, usei a bento que funciona com o vagrantnome de usuário e senha usuais :

config.vm.box = 'bento/ubuntu-16.04'
config.vm.box_version = "201708.22.0"
raisercostin
fonte