Vagrant ssh 'private_key_path` file must exist

2019-02-17 16:15发布

问题:

I'm getting this error during vagrant up

There are errors in the configuration of this machine. Please fix
the following errors and try again:

SSH:
* `private_key_path` file must exist: insecure_key

How do I setup the private key in order to ssh into use vagrant ssh? I'm using Windows 7.

My vagrant file

Vagrant.configure("2") do |config|
    config.vm.define "phusion" do |v|
        v.vm.provider "docker" do |d|
          d.cmd = ["/sbin/my_init", "--enable-insecure-key"]
          d.image = "phusion/baseimage"
          d.name = 'dockerizedvm'
          d.has_ssh = true
          #d.force_host_vm = true
        end
        v.ssh.port = 22
        v.ssh.username = 'root'
        v.ssh.private_key_path = 'insecure_key'
        v.vm.provision "shell", inline: "echo hello"
        #v.vm.synced_folder "./keys", "/vagrant"
    end
end

回答1:

insecure_key should be a file containing an SSH key. The file should be in the same folder where you vagrant up. The following is an alternative:

curl -o insecure_key -fSL https://github.com/phusion/baseimage-docker/raw/master/image/insecure_key chmod 600 insecure_key vagrant ssh



回答2:

So in my case I was using cygwin with windows, and I received:

* `private_key_path` file must exist: 
C:\cygwin64\home\basic.user/.vagrant.d/insecure_private_key

After a few minutes of investigation I realized the VAGRANT_HOME environment variable was not ok, so exporting the right environment variable did the job:

VAGRANT_HOME=/cygdrive/c/Users/basic.user
export VAGRANT_HOME


标签: vagrant