Vagrant SSH has invalid permissions的解决与分析
一、问题复现
我在mac下的NTFS分区里运行Vagrant up,正常启动虚拟机,但是ssh连接的时候却出现了问题,如下图:
按照提示,应该是SSH的private_key权限不足,按照提示是要我去给该文件赋予0600权限。
运行如下提权代码:
1 2 |
sudo chmod 0600 /Volumes/Lab/dockernet/.vagrant/machines/docker-node1/virtualbox/private_key |
终端没有报错,可是再ssh连接依然出现同样的问题。
二、问题分析
给private_key赋予666,600,777,但仍然得到同样的错误。
其实虽然终端没有报错,但是文件权限却没有修改,原因是mac对NTFS的文件系统没有读写权限,虽然我用一些软件使得我可以向里面写入文件。
三、问题解决
将private_key文件移动到mac自己的分区,更改其权限,然后在原始位置创建符号链接的问题。
下面的命令的路径根据你的情况修改。
1 2 3 4 5 6 7 |
//移动文件 mv [...]/.vagrant/machines/default/virtualbox/private_key /some/path/where/you/can/change/permissions //更改权限 sudo chmod 0600 /Volumes/Lab/dockernet/.vagrant/machines/docker-node1/virtualbox/private_key //创建链接 ln -s /some/path/where/you/can/change/permissions [...]/.vagrant/machines/default/virtualbox/private_key |
问题解决: