ubuntu xenial64 box password?

33

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 vagrant: login vagrant?

    
posée KillerSnail 02.10.2016 - 08:13
la source

8 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 Vagrant. (Notez que la partie 20161221.0.0 du chemin varie en fonction du moment où la boîte a été téléchargée. Il peut également 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 le this bug report having been filed ubuntu et jusqu'à présent no [...] decision has been made yet à ce sujet.

    
réponse donnée Voncay 24.01.2017 - 14:15
la source
11

Je me suis cogné la tête contre le mur pendant une demi-journée hier jusqu'à ce que je réalise que je disposais d'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 obtenir de meilleurs résultats

En gros, les images ubuntu/xenial32 et ubuntu/xenial64 sont défectueuses car elles ne sont pas livrées avec l'utilisateur vagrant . "/ p>

C’est contre les spécifications Vagrant

J'ai finalement utilisé v0rtex/xenial64 comme recommandé dans le rapport de bogue . Vous ne savez pas pourquoi canonical ne résout pas ce problème

Mon fichier vagrant est le suivant

# -*- 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 images fournies par canonical , il est possible d'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 dossier /vagrant appartiendra à ubuntu:ubuntu au lieu de vagrant:vagrant . Si vous avez des scripts qui dépendent de l'utilisateur vagrant , ils se casseront

    
réponse donnée Stefano 28.11.2016 - 03:22
la source
4

Il a enfin été résolu (2018/01/13): link

Vous pouvez exécuter vagrant box update , puis vagrant destroy .

    
réponse donnée xverges 13.01.2018 - 21:23
la source
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
    
réponse donnée George Ploscaru 29.11.2016 - 08:43
la source
1

La nouvelle image ubuntu/xenial64 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 fichier Vagrant est à /vagrant/vm01/Vagrantfile , la clé ssh serait dans /vagrant/vm01/.vagrant/machines/..../private_key

Vous pouvez vous connecter à votre machine virtuelle errante à l’aide de ce private_key . Si l'ordinateur invité demande la phrase secrète de la clé, appuyez simplement sur 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.

    
réponse donnée Nguyen Phan Tan 20.04.2017 - 07:19
la source
1

Vous pouvez exporter la configuration valide OpenSSH pour vous connecter à la machine en tapant vagrant ssh-config dans 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

Vous pouvez maintenant:

ssh -i /path/to/project/folder/.vagrant/machines/default/virtualbox/private_key [email protected]
    
réponse donnée Andrea 24.04.2017 - 12:23
la source
0

Si vous n'êtes pas intéressé par la boîte ubuntu/xenial64 mais par une autre boîte 16,04 LTS, j'ai utilisé le bento qui fonctionne avec le nom d'utilisateur et le mot de passe habituels vagrant :

config.vm.box = 'bento/ubuntu-16.04'
config.vm.box_version = "201708.22.0"
    
réponse donnée raisercostin 28.09.2017 - 10:44
la source
0

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

  • Nom d'utilisateur par défaut: vagabond
  • 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
    
réponse donnée ADV-IT 27.06.2018 - 00:07
la source

Lire d'autres questions sur les étiquettes