天天看點

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