在使用vagrant up啟動虛擬機器的時候,遇到了一個問題,報錯資訊如下:
default: SSH auth method: private key
default: Warning: Authentication failure. Retrying...
...
錯誤資訊表明身份驗證失敗,在google之後找到解決方案。
雖然vagrant up
身份驗證失敗,但其實虛擬機器已經啟動,此時依然是可以進入虛擬機器的。
進入虛擬機器執行如下命令:
sudo -u vagrant wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O .ssh/authorized_keys
sudo -u vagrant chmod 700 .ssh
sudo -u vagrant chmod 600 .ssh/authorized_keys
sudo -u vagrant chown -R vagrant:vagrant .ssh
設定完畢後使用vagrant reload
重啟虛擬機器。
但是還是沒有用,報了同樣的錯誤。
此時使用vagrant ssh-config
命令檢視vagrant的ssh配置資訊
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /vagrantPath/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
將IdentityFile所指的路徑中的檔案刪除,然後再次重啟虛擬機器。
以上。