ubfox xenial64 hộp mật khẩu?


35

Có lẽ là một câu hỏi ngu ngốc nhưng

Tôi đã sử dụng hộp trusty64 trước đây với vagrant và đã thử hộp xenial64 nhưng nó không chấp nhận người dùng thông thường: mật khẩu vagrant: đăng nhập vagrant?



1
Vậy người dùng mới là gì? người dùng: mật khẩu ubfox: ???
KillerSnail

9
Bất cứ ai cũng biết mật khẩu f *** ing cho người dùng Ubuntu?
Victor Bocharsky

3
Nhận xét ngắn, vì chưa có câu trả lời được chấp nhận ... Bạn có thể tìm thấy PASS trong : ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170311.0.0/virtualbox/Vagrantfile, trong đó "20170311.0.0" phải là tên thư mục khác nhau ... vì vậy hãy đi đến ~/.vagrant.d/boxes/và tìm hộp và tệp mơ hồ của bạn.
Bộ trưởng

2
Tôi chuyển sang bento/ubuntu-16.04hộp và nó đã giải quyết hàng loạt vấn đề.
jchook

Câu trả lời:


30

Như người dùng @prometee đã đề cập trong cuộc thảo luận về launchpad này # 1569237 , bạn có thể tìm thấy mật khẩu trong:

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

hoặc là:

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

tùy thuộc vào phiên bản Vagrant của bạn. (Lưu ý 20161221.0.0một phần của đường dẫn sẽ thay đổi tùy thuộc vào thời điểm hộp được tải xuống. Ngoài ra, có thể có nhiều hơn một trong thư mục của bạn.)

Đây là của tôi (dòng 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, người dùng @racb đề cập đến trong cùng một nội dung về việc this bug report having been filed sử dụng Ubuntu và cho đến nay no [...] decision has been made yetvề nó.


Không có tập tin nào ở vị trí đó cho tôi
Felix Eve

2
Tôi đã tìm thấy nó tại ~ \ .vagrant.d \ box \ ub Ubuntu-VAGRANTSLASH-xenial64 \ 20170331.0.0 \ virtualbox \ Vagrantfile (trong Windows)
Rob H

Làm việc hoàn hảo. Con đường của tôi là ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-xenial64/20170317.0.0/virtualboxnhưng có ý tưởng tìm mật khẩu ở đâu.
Ariful Haque

2
Câu trả lời này phải là câu trả lời được chấp nhận!
Sangar82

1
-Có an toàn để thay đổi tên người dùng và mật khẩu thành "vagrant: vagrant" ở đó không? - Cập nhật : Không; tải lại vagrant sẽ yêu cầu mật khẩu cho vagrant@127.0.0.1 và sẽ không chấp nhận giá trị bạn đã sử dụng ở đó.
Juha Untinen

11

Tôi đập đầu vào tường trong nửa ngày hôm qua cho đến khi tôi nhận ra mình đang chạy một phiên bản cũ của Virtualbox (5.0.x) và Vagrant (1.8.0)

Đã cập nhật lên VirtualBox 5.1.x và Vagrant 1.8.7 và có kết quả tốt hơn

Về cơ bản ubuntu/xenial32, ubuntu/xenial64hình ảnh và thiếu sót khi chúng không đi kèm với vagrantngười dùng.

Điều này trái với thông số kỹ thuật của Vagrant

Tôi đã kết thúc bằng cách sử dụng v0rtex/xenial64như khuyến nghị trong báo cáo lỗi này . Không chắc tại sao canonicalkhông sửa cái này

Tập tin mơ hồ của tôi là như sau

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

Nếu bạn vẫn muốn sử dụng các canonicalhình ảnh được cung cấp, có thể sử dụng phương pháp sau

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

Nếu bạn làm điều đó, /vagrantthư mục sẽ được sở hữu ubuntu:ubuntuthay vì vagrant:vagrant. Nếu bạn có tập lệnh dựa vào vagrantngười dùng ở đó thì họ sẽ phá vỡ



3

Một cách là cài đặt mong đợi và bắt đầu thay đổi mật khẩu. Ví dụ dưới đây đặt mật khẩu ubfox cho người dùng ubfox.

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/xenial64Hình ảnh mới không đi kèm với tên người dùng và mật khẩu mặc định. Tuy nhiên, bạn có thể ssh bằng cách sử dụng khóa ssh được tạo trong thư mục mơ hồ của bạn.

Giả sử Vagrantfile của bạn đang ở /vagrant/vm01/Vagrantfile, phím ssh sẽ ở trong/vagrant/vm01/.vagrant/machines/..../private_key

Bạn có thể đăng nhập vào vm của bạn bằng cách sử dụng này private_key. Nếu máy khách yêu cầu cụm mật khẩu của khóa, chỉ cần nhấn ENTER(chỉ định cụm mật khẩu trống). Ví dụ: trên máy Mac của tôi:

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

Nếu bạn vẫn muốn đăng nhập bằng tên người dùng và mật khẩu, sau khi đăng nhập bằng private_key, bạn có thể thêm người dùng của riêng mình để đăng nhập sau:

# 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

Bây giờ bạn có thể ssh bằng tên người dùng và mật khẩu mới.


1

Bạn có thể xuất cấu hình hợp lệ OpenSSH để kết nối với máy bằng cách nhập vagrant ssh-configtừ trong thư mục Vagrantfile của bạn. Đầu ra sẽ cho bạn thấy rằng xác thực mật khẩu bị tắt, tuy nhiên bạn có thể trỏ đến tệp khóa riêng:

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

Bây giờ bạn có thể:

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

1

Tôi đang sử dụng Vagrant trên Windows và hình ảnh của ubfox / xenial64 không có mật khẩu được cấu hình cho nó.

  • Tên người dùng mặc định: vagrant
  • Máy chủ mặc định: 127.0.0.1:2222
  • Khóa SSH mặc định: C: /Vagrant/.vagrant/machines/default/virtualbox/private_key

Bạn có thể đăng nhập vào hộp VM của mình thông qua lệnh:

 vagrant ssh

hoặc bằng cách

ssh -i private_key vagrant:127.0.0.1 -p 2222

0

Nếu bạn không quan tâm đến ubuntu/xenial64hộp nhưng bất kỳ hộp 16.04 LTS nào khác, tôi đã sử dụng hộp bento hoạt động với vagranttên người dùng và mật khẩu thông thường :

config.vm.box = 'bento/ubuntu-16.04'
config.vm.box_version = "201708.22.0"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.