ubuntu xenial64 box password?


35

Probablement une question stupide mais

J'ai déjà utilisé la boîte trusty64 avec vagrant et j'essayais la boîte xenial64 mais il n'accepte pas l'utilisateur habituel: mot de passe vagabond: login vagrant?



1
Alors, quel est le nouvel utilisateur alors? utilisateur: mot de passe ubuntu: ???
KillerSnail

9
Quelqu'un connait-il le mot de passe de l'utilisateur pour Ubuntu?
Victor Bocharsky

3
Bref commentaire, car la réponse n’a pas encore été acceptée ... Vous pouvez trouver le PASS dans le ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170311.0.0/virtualbox/Vagrantfilefichier:, où "20170311.0.0" doit correspondre à un nom de répertoire différent ... allez donc sur ~/.vagrant.d/boxes/et trouvez votre fichier box et vagrant.
Ministre

2
Je suis passé à la bento/ubuntu-16.04boîte et cela a résolu beaucoup de problèmes.
jchook

Réponses:


30

Comme mentionné par l'utilisateur @prometee dans cette discussion du tableau de bord # 1569237 , vous pouvez trouver le mot de passe dans:

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

ou:

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

en fonction de votre version de vagabond. (Notez que la 20161221.0.0partie du chemin varie en fonction du moment où la boîte a été téléchargée. En outre, il peut y en avoir plusieurs dans votre répertoire.)

Voici le mien (ligne 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

Pour votre information, l'utilisateur @racb a mentionné dans la même discussion que this bug report having been filed Ubuntu et jusqu'ici no [...] decision has been made yet.


Il n'y a pas de dossier à cet endroit pour moi
Felix Eve

2
Je l'ai trouvé sur ~ \ .vagrant.d \ boxes \ ubuntu-VAGRANTSLASH-xenial64 \ 20170331.0.0 \ virtualbox \ Vagrantfile (sous Windows)
Rob H

A parfaitement fonctionné. Mon chemin était, ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170317.0.0/virtualboxmais j'ai eu l'idée où chercher le mot de passe.
Ariful Haque

2
Cette réponse doit être la réponse acceptée!
Sangar82

1
-Est-il prudent de remplacer le nom d'utilisateur et le mot de passe par "vagrant: vagrant"? - Mise à jour : Nope; vagrant reload vous demandera un mot de passe pour vagrant@127.0.0.1 et n'acceptera pas la valeur que vous avez utilisée ici.
Juha Untinen

11

Hier, je me suis cogné la tête contre le mur pendant une demi-journée, le temps de réaliser une ancienne version de Virtualbox (5.0.x) et de Vagrant (1.8.0).

Mise à jour vers VirtualBox 5.1.x et Vagrant 1.8.7 pour de meilleurs résultats

Fondamentalement, les images ubuntu/xenial32et ubuntu/xenial64sont imparfaites car elles ne sont pas livrées avec l' vagrantutilisateur.

Ceci est contre les spécifications vagabondes

J'ai fini par utiliser v0rtex/xenial64comme recommandé dans ce rapport de bogue . Pas certain de pourquoicanonical ne corrige pas cela

Mon dossier vagabond est comme suit

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

Si vous souhaitez toujours utiliser les canonicalimages fournies, vous pouvez utiliser l'approche suivante.

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

Si vous faites cela, le /vagrantdossier appartiendra à la ubuntu:ubuntuplace de vagrant:vagrant. Si vous avez des scripts qui dépendent de l’ vagrantutilisateur pour être là, ils casseront



3

Une solution consiste à installer expect et à lancer un changement de mot de passe. L'exemple ci-dessous définit le mot de passe ubuntu sur utilisateur 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

La nouvelle ubuntu/xenial64image ne vient pas avec un nom d'utilisateur et un mot de passe par défaut. Cependant, vous pouvez utiliser ssh avec une clé ssh générée dans votre dossier vagrant.

Disons que votre Vagrantfile est à /vagrant/vm01/Vagrantfile, la clé ssh serait dans/vagrant/vm01/.vagrant/machines/..../private_key

Vous pouvez vous connecter à votre machine virtuelle vagrant en utilisant ceci private_key. Si l'ordinateur invité demande la phrase secrète de la clé, il suffit de taper ENTER(en spécifiant une phrase secrète vierge). Par exemple, sur mon Mac:

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

Si vous souhaitez toujours vous connecter à l'aide d'un nom d'utilisateur et d'un mot de passe, vous pouvez ajouter votre propre utilisateur pour vous connecter ultérieurement:

# 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

Vous pouvez maintenant utiliser SSH avec le nouveau nom d'utilisateur et le nouveau mot de passe.


1

Vous pouvez générer une configuration valide OpenSSH pour vous connecter à la machine en la saisissant vagrant ssh-configdans votre dossier Vagrantfile. La sortie vous montrera que l'authentification par mot de passe est désactivée, mais vous pouvez pointer vers le fichier de clé privée:

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

Maintenant vous pouvez:

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

1

J'utilise Vagrant sous Windows et l'image d' ubuntu / xenial64 sans mot de passe configuré pour cela.

  • Nom d'utilisateur par défaut: vagrant
  • Hôte par défaut: 127.0.0.1:2222
  • Clé SSH par défaut: C: /Vagrant/.vagrant/machines/default/virtualbox/private_key

Vous pouvez vous connecter à votre machine virtuelle via la commande:

 vagrant ssh

ou par

ssh -i private_key vagrant:127.0.0.1 -p 2222

0

Si vous n'êtes pas intéressé par la ubuntu/xenial64boîte mais par toute autre boîte 16.04 LTS, j'ai utilisé celle de bento qui fonctionne avec le vagrantnom d'utilisateur et le mot de passe habituels :

config.vm.box = 'bento/ubuntu-16.04'
config.vm.box_version = "201708.22.0"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.