天天看点

win7下vagrant1.8.1与virtualbox5.0.40配置新box

1、安装vagrant和virtualbox后,下载对应版本的box文件,virtualbox官网有支持列表。

2、过程  a. 

vagrant box add ubuntu16_04 e:\Ubuntu16.04-xenial-server-cloudimg-amd64-vagrant.box       

 导入box文件

     b.   vagrant init  然后修改vagrantfile , 修改此处config.vm.box = "ubuntu16_04"

       取消注释:    config.vm.network "private_network", ip: "192.168.33.10"

       取消注释: 

win7下vagrant1.8.1与virtualbox5.0.40配置新box

    c. vagrant up,这时出现错误啦。 default: Warning: Authentication failure. Retrying...

win7下vagrant1.8.1与virtualbox5.0.40配置新box

   d. 修改此处,但不起作用。是修改vagrantfile添加上这两条

        config.ssh.username = "vagrant"

        config.ssh.password = "vagrant"

然后vagrant reload 仍不起作用,很久之前我用过类似方法,能成功,但现在却不成功了。

 3、打开git-bash,生成秘钥   

ssh-keygen -m PEM -t rsa -b 4096      

   一路回车,为何此处不用简单的 ssh-keygen生成秘钥?试过了,会报错,因为这样生成的私钥id_rsa的第一行变成了“BEGIN OPENSSH PRIVATE KEY” 而不在是“BEGIN RSA PRIVATE KEY”,

vagrant reload时会报错,因为此文件此处会报错,77行,就是说找不到pkey,其实就因为第一行是openssh而不是rsa

win7下vagrant1.8.1与virtualbox5.0.40配置新box

  查看此目录c:/users/xxx/.ssh/下是否生成  id_rsa.pub , id_rsa两个文件

  在终端一直输出错误的同时,打开virtualbox,在对应的系统上右键点显示,进入系统输入账号密码vagrant,来到已下目录

/home/vagrant/.ssh/      

可见里面有个文件authorized_keys,思否上说此时可以用ssh软件连上vbox,实测不能。那怎么办呢?怎么把上面生成的id_rsa.pub拷贝过来呢?

可以在主机上开个http服务,把id_rsa.pub放到上面,在vbox里下载过来,不要告诉我你主机不会开http服务,一般能用到vagrant了,肯定是主机早就用过http服务了。

我主机用的是nginx,于是拷贝到html文件件里,在vbox里

wget http://192.168.33.1/id_rsa.pub      

复制并覆盖vbox里.ssh文件夹里的authorized_keys,并修改权限为600。

修改vagrantfile,最后的end前加入此句:

config.ssh.private_key_path = "C:/Users/xxx/.ssh/id_rsa"
config.ssh.forward_agent = true      

xxx改成自己的。

4、此时用终端连接软件连接127.0.0.1,2222端口,例如xshell,会弹出

win7下vagrant1.8.1与virtualbox5.0.40配置新box