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"
取消注釋:

c. vagrant up,這時出現錯誤啦。 default: Warning: Authentication failure. Retrying...
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
檢視此目錄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,會彈出