报错
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection aborted. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Connection aborted. Retrying...
default: Warning: Connection reset. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
原因
授权失败主要原因:虚拟机获取不到物理机的公钥
两种解决办法
1. 配对虚拟机和物理机ssh key
登陆虚拟机
vagrant ssh
获取公共box的pub秘钥
wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O .ssh/authorized_keys
退出虚拟机后reload
vagrant reload
2.使用自己生成的秘钥
- 打开用户目录的.ssh文件夹(开启隐性文件可见)
C:\Users\tiway.ssh - 鼠标右键git bash 查看是否有id_rsa,id_rsa.pub 两个文件 没有则用ssh-keygen 生成
- 打开虚拟机目录 vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile E:/vagrant/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
- 把C:\Users\tiway.ssh\id_rsa 内容复制到E:/vagrant/.vagrant/machines/default/virtualbox/private_key
也可在配置文件中直接修改ssh 的authorized_keys
config.ssh.private_key_path = “C:/Users/tiway/.ssh/id_rsa”
- 登陆虚拟机修改用户的.ssh authorized_keys
vim ~/.ssh/authorized_keys
- 把C:\Users\tiway.ssh\id_rsa.pub 内容复制到此文件中
- 退出登陆 ,然后vagrant reload
如果还不行祭出终极杀招
- 备份你的Vagrantfile 配置文件
- 删除当前除了box的文件
vagrant init
- 生成了配置文件Vagrantfile,把原来的配置内容cope到配置文件
vagrant up
有时候会遇到端口被占用的情况,即你上次启动虽然没成功,但是端口被占用
两条命令:
一、netstat -aon | findstr 3306 --根据端口号查看进程号(2748)
二、tasklist | findstr 2478 – 根据进程号查看进程
发现是VBoxHeadless.exe
在任务管理器中结束,重启即可;
没有哪一种错误是初始化不能解决的!!!