Gin*_*ane 6 vagrant vagrant-windows
我有一个奇怪的问题vagrant ssh。类似的问题,例如Vagrant 在 SSH 密钥更新后要求输入密码,或(vagrant & ssh) 需要密码,或Vagrant ssh 身份验证失败对我没有帮助。
所以,剧情。
我有一台运行 Ubuntu 14.04.3 的虚拟机。所有设置都是根据这篇文章进行的:https : //blog.engineyard.com/2014/building-a-vagrant-box。
注意:我可以使用带有 vagrant 的 insecure_private_key(转换为 *.ppk)的 Putty ssh 到这个虚拟机,它位于“C:/Users/Gino/.vagrant.d/insecure_private_key。密码没有被提示。
然后我打包了这个虚拟机,用这个包初始化 vagrant 并运行vagrant up. 我收到“ Warning: Authentication failure. Retrying...”错误。但是尽管如此我可以vagrant ssh到这台机器,但它要求我输入密码。如果我尝试ssh使用带有必要密钥的 Putty(如第一段中所示),它也会要求我输入密码。
我vagrant halt编辑了这台机器,在 VirtualBox VM 的列表中找到它并手动运行它。之后,我尝试ssh使用具有相同密钥的 Putty 访问这台机器并成功 - 我可以在没有任何密码的情况下登录。
的结果vagrant ssh-config,如果需要:
h:\VagrantBoxes\main-server32>vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "C:/Users/Gino/.vagrant.d/insecure_private_key"
IdentitiesOnly yes
LogLevel FATAL
Run Code Online (Sandbox Code Playgroud)
我的Vagrantfile(它是自动生成的,几乎没有,只添加了评论中的建议行):
Vagrant.configure(2) do |config|
config.vm.box = "vagrant-main-server32"
config.ssh.insert_key = false
end
Run Code Online (Sandbox Code Playgroud)
那么这里的奥秘是什么?为什么ssh使用密钥在没有vagrant up和失败的情况下工作并提示输入密码?
笔记。另一个有趣的事情:它仍然无法在
vagrant up. 但是如果在出现“认证失败”错误的时候我通过virtualbox登录vm,用vagrant up. 然后vagrant ssh工作。
我在 vagrant 1.8.1 上遇到了同样的问题,在我使用的几个盒子上(即:geerlingguy/centos6)
我在这些机器上使用 Vagrant 1.7 没有任何问题。
经过对为什么我无法在该框中进行 ssh 的一些研究后,该框中的 /home/vagrant 似乎具有 755 权限,并且 ssh 阻止对具有这些权限的用户进行身份验证
/var/log/secure 的摘录:
Jan 28 15:11:36 服务器 sshd[11721]:身份验证被拒绝:目录 /home/vagrant 的所有权或模式错误
要修复该虚拟机,我只需更改 /home/vagrant 权限(对其执行 chmod 700),现在我可以直接 ssh 进入我的盒子
我不知道如何直接修复它我认为你应该直接修改你的盒子
希望这可以帮助!
编辑:我认为这是主机的共享文件夹,但共享的是 /vagrant 而不是 /home/vagrant
| 归档时间: |
|
| 查看次数: |
9933 次 |
| 最近记录: |