我在Fedora 29主机上的KVM / QEMU(libvirt)下运行了CentOS7的机器。 vagrant up
工作正常。 vagrant ssh
失败,并显示:
/usr/share/vagrant/gems/gems/vagrant-2.1.2/lib/vagrant/util/safe_exec.rb:39:
in `exec': : Permission denied - /home/username/bin/sshPermission denied - /home/username/bin/ssh ( (Errno::EACCESErrno::EACCES)
文档说:Vagrant will attempt to use the local SSH client installed on the host machine.
但是,which ssh
正确地产生:/usr/bin/ssh
。那么为什么流浪汉不使用它呢?
目录! /home/username/bin/ssh
已在创建框时被包含在PATH环境中,而流浪汉似乎已将该信息存储在某处。从PATH删除目录无济于事。仅当我重命名或删除目录vagrant ssh
时才起作用。
谁能告诉我流浪者在哪里存储了错误的信息?
编辑:Vagrant文件几乎为空,仅包含config.vm.box
...
答案 0 :(得分:0)
猜猜我找到了原因-似乎是我使用的流浪者版本2.1.2的错误或奇怪行为:
我在PATH环境中仍然有目录/home/username/bin
。 Vagrant似乎列出了PATH包含的所有目录中的所有条目,以查找 ssh 并找到子目录/home/username/bin/ssh
,但没有意识到这是目录...
删除/home/username/bin
后,命令vagrant ssh
会按预期工作。因此,除非改进无业游民,否则必须永久重命名我的/home/username/bin/ssh
目录...