目前開發團隊已經大規模在使用vagrant。今天想直接在移動硬盤上建一個後端服務調用的box給其餘同窗用,就直接把VAGRANT_HOME指向了移動硬盤。shell
export VAGRANT_HOME=/media/floating/data_disk/.vagrant.d
而後就一路標準操做:
ubuntu
vagrant box add backend_services_base ~/ubuntu-14.04-amd64-vbox.box mkdir backend_services_base cd backend_services_base vagrant init backend_services_base vagrant up
這時候問題來了:
後端
vagrant一直卡在這裏,直到超時。ssh
起先覺得是BIOS裏虛擬化設置沒打開,致使virtualbox沒法正常虛擬化,檢查以後發現虛擬化設置並無disabled。更神奇的是在VagrantFile中將gui開關打開再運行,發現virtualbox正常啓動,並且sshd服務也正常。ui
正一頭霧水的時候,忽然想起來移動硬盤是以root用戶加載的,會不會是這個緣由致使的呢?翻Vagrant的文檔,果真有問題。spa
因爲vagrant會使用私鑰經過ssh訪問虛擬機,而ssh協議要求私鑰文件的owner必須是當前用戶。將private key path重定向到當前用戶的home下,一次經過。:)vagrant
config.ssh.private_key_path="/home/floating/.vagrant.d/insecure_private_key"