Vagrant导入box文件时认证失败
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Authentication failure. Retrying...
网上搜索了2种方法
编辑Vagrantfile
在里面添加
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
使用用户名和密码登录之后,里面的login key会重设置
启动登录后,关掉虚拟机, 注释
# config.ssh.username = "vagrant"
# config.ssh.password = "vagrant"
a.打开终端 输入 ssh-keygen
然后系统提示输入文件保存位置等信息,连续敲三次回车即可,生成的SSH key文件保存在中~/.ssh/id_rsa;
b.ssh-add ~/.ssh/id_rsa 添加到证书列表;
c.在Vagrantfile文件添加
config.ssh.private_key_path = “~/.ssh/id_rsa”
config.ssh.forward_agent = true
用于vagrant ssh连接认证
d.在虚拟机~/.ssh/authorized_keys文件中追加本地机器”~/.ssh/id_rsa.pub”文件里面的内容;
e.vagant reload重启虚拟机就可以正常连接了
Vagrant更新VirtualBox Guest Additions到最新版本
升级Virtualbox到最新版本(5.1)后,up的时候提示VirtualBox Guest Additions
版本低于当前Virtualbox版本。只要安装一个vagrant插件就可以启动的时候自动更新VirtualBox Guest Additions
到最新了。vagrant plugin install vagrant-vbguest
默认共享设置所有者、所属组和文件权限
Vagrantfile默认使用的是Virtualbox的共享,所以登录到虚拟机以后权限都是777,如果更改可以使用下面配置
config.vm.synced_folder "../Code", "/srv/code",
:owner: "www", :group: "www", #设置虚拟机文件所属者和所属组
:mount_options => ["dmode=775", "fmode=664"] #设置文件权限
这里有个问题,默认是使用vagrant登录的,如果在挂载的目录里进行操作的话,可以把vagrant加到www用户组里或者切到root.
配置NFS
在Win下使用nfs也没怎么感觉有多快,目前来说默认的共享已经够用。
* 先安装nfs插件`vagrant plugin install vagrant-winnfsd`
* 配置Vagrantfile文件
config.vm.synced_folder "../Code", "/srv/code", type: "nfs" #这行加入nfs选项
config.nfs.map_uid = 1002 #这个是虚拟机里的用户id,比如www是1002
config.nfs.map_gid = 1002
> 官方文档https://www.vagrantup.com/docs/synced-folders/nfs.html
PS:只是按以上设置后虚拟机里的文件夹和文件权限都是777,不知道如何才能像默认共享那样使用mount_options
来设置
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。