Vagrant 的 Ubuntu 16.04 vagrantfile 默认密码

问题描述 投票:0回答:6

我正在尝试通过 Vagrant 1.9.1 部署和运行 Ubuntu 16.04 VM。 我使用的 Vagrantfile 来自 Atlas:

Ubuntu Xenial 16.04 Vagrantfile

我使用 Debian Stretch 作为主机操作系统。 Vagrant 是通过 Vagrant 网站上提供的 .deb 安装的。

Vagrantfile 确实可以正确运行和部署。我可以通过主机操作系统和使用“vagrant ssh”ssh 进入虚拟机。但是,当我尝试从外部 ssh 进入时,我遇到了一个小障碍。

此 VM 中的默认用户名为“ubuntu”,并且看起来设置了密码。但是,我根本不知道密码是什么,而且似乎没有文档包含我要查找的信息。尝试通过 VM 中的“passwd”设置密码需要当前密码。有人知道这是怎么回事吗?

所以我的大问题是:有没有其他人部署了同样的 Vagrantfile,如果有,有人知道默认用户的密码是什么吗?

linux ubuntu ssh vagrant vagrantfile
6个回答
30
投票

在撰写此答案时:没有人在

ubuntu
Vagrant box 上公开共享用户
ubuntu/xenial64
的密码(参见 #1569237)。

没必要。你可以:

  • 使用 SSH 密钥认证登录
  • 使用
    sudo passwd ubuntu
    更改密码(默认情况下
    ubuntu
    用户具有 sudo 权限并设置
    NOPASSWD

其实不仅可以,而且应该修改密码


28
投票

密码位于用户@prometee 在此启动板讨论中提到的

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

这是我的(第 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
到ubuntu和到目前为止
no [...] decision has been made yet
关于它。


22
投票

默认用户和密码是:

用户:

vagrant

密码:
vagrant


3
投票

新的

ubuntu/xenial64
图像没有默认的用户名和密码。但是,您可以使用在您的 vagrant 文件夹中生成的 ssh-key 进行 ssh。

假设您的 Vagrantfile 位于

/vagrant/vm01/Vagrantfile
,ssh 密钥将位于
/vagrant/vm01/.vagrant/machines/..../private_key

您可以使用此

private_key
登录到您的 vagrant vm。如果来宾机器要求输入密钥的密码,只需点击
ENTER
(指定一个空白密码)。例如,在我的 Mac 上:

ssh -i /vagrant/vm01/.vagrant/..../private_key <your vm user>@<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 操作了。


0
投票

不确定通过 vagrant 安装时的 ubuntu 16.X 密码,但您可以按照以下步骤自行更改密码 -

[~/from-vagrant-project]vagrant ssh
[ubuntu@hostname]sudo -i
root@hostname:~# passwd ubuntu
Enter new UNIX password:XXXXX
Retype new UNIX password:XXXXX
passwd: password updated successfully`

-1
投票

如果这可以帮助:

我通过创建一个普通的 VM(在我的例子中是 ubuntu/xenial)解决了自定义包装问题,然后复制用

vagrant ssh-config
找到的识别文件,并将该文件用于
config.sshprivate_key_path
,同时将
config.ssh.username
设置为
ubuntu
. (另见https://github.com/hashicorp/vagrant/issues/5186#issuecomment-355012068

© www.soinside.com 2019 - 2024. All rights reserved.