流浪汉不断要求输入密码

jnb*_*bdz 4 ssh vagrant vagrantfile

起初我得到这个错误:

文本将清晰地回显。请安装HighLine或Termios库以隐藏回显的文本。

vagrant@127.0.0.1的密码:

然后我安装了:HighLine

现在我只得到:

vagrant@127.0.0.1的密码:

我试图用vagrant拥有的密码。

我没工作。我尝试了我的计算机密码,但是也没有用。

所以我不知道我应该使用什么密码。

在添加这些设置(在Vagrantfile中)之后,所有这些工作就开始了:

config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
config.ssh.keys_only = true
config.ssh.insert_key = true
Run Code Online (Sandbox Code Playgroud)

有人可能会问为什么我要使用这些设置(因为通常无聊是默认的用户名和密码)。原因是由于某种原因,该框会生成一些随机密码,并且使用ubuntu的用户名。

# 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 = "02357F2D68C4"
  config.ssh.username = "ubuntu"
  config.ssh.password = "1547c59e6cbdffd4104ad720"

  config.vm.provider "virtualbox" do |vb|
     vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
     vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "ubuntu-zesty-17.04-cloudimg-console.log") ]
  end
end
Run Code Online (Sandbox Code Playgroud)

可在以下位置找到: ~/.vagrant.d/boxes/ubuntu-VAGRANTSLASH-zesty64/20170412.1.0/virtualbox

我尝试了此解决方案,但它不起作用:

流浪汉只在第一次“流浪汉”时询问密码

那么密码是什么呢?我该怎么办才能停止询问密码?


流浪汉1.9.1

本地操作系统:

没有可用的LSB模块。

发行人ID:Ubuntu

说明:Ubuntu 17.04

发行:17.04

代号:zesty

盒子:ubuntu / zesty64(virtualbox,20170412.1.0)


更新1

$ vagrant up

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'ubuntu/zesty64' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'ubuntu/zesty64'
    default: URL: https://atlas.hashicorp.com/ubuntu/zesty64
==> default: Adding box 'ubuntu/zesty64' (v20170412.1.0) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/ubuntu/boxes/zesty64/versions/20170412.1.0/providers/virtualbox.box
==> default: Successfully added box 'ubuntu/zesty64' (v20170412.1.0) for 'virtualbox'!
==> default: Importing base box 'ubuntu/zesty64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/zesty64' is up to date...
==> default: Setting the name of the VM: -----
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 3306 (guest) => 3306 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: password
    default: Warning: Connection reset. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
vagrant@127.0.0.1's password: 
vagrant@127.0.0.1's password: 
    default: Warning: Authentication failure. Retrying...
vagrant@127.0.0.1's password: ==> default: Waiting for cleanup before exiting...
Vagrant exited after cleanup due to external interrupt.
Run Code Online (Sandbox Code Playgroud)

Fré*_*nri 5

我觉得你有些困惑。

config.ssh.username将引用要用于登录的用户,但是该用户必须存在于VM中,您不能决定使用自己的名称并且可以使用;如果VM中没有相应的用户,它将无法正常工作。

Vagrant建议使用基于密钥的身份验证,而不要使用密码,但是在创建框(通常使用packer.io)时,您可以决定使用密码身份验证方法。

对于ubuntu / zesty64框,这就是所有者决定要做的事情,它仅创建了ubuntu用户,并决定使用密码进行身份验证。

如果您更喜欢使用vagrant登录到VM,则首先需要创建vagrant用户,还可以下载公共密钥。进行这些更改后,您可以重新包装包装盒,以便将来使用时,将保留所有设置。您还可以查看使用打包程序构建自己的盒子,github上有大量可用模板可以重复使用。


San*_*eet 5

Vagrant 的官方文档指出,“vagrant”用户有一个默认密码,它
vagrant 本身就是 。去他们的官方网站了解更多

  • 像 ubuntu/trusty64 的老板一样工作,感谢发布! (2认同)