Подтвердить что ты не робот

Изменение Vagrantfile приводит к тому, что "бродяга ssh" запрашивает пароль?

Я играл с настройкой среды с помощью Vagrant, и у меня возникла проблема с командой vagrant ssh.

Когда я изменяю путь к установленной папке общего доступа в Vagrantfile и делаю vagrant reload, я больше не могу vagrant ssh, не спрашивая у меня пароль.

Это была моя первоначальная конфигурация для смонтированной части, которая работает:

config.vm.synced_folder "./", "/home/vagrant/shared"

Это то, что я пытался изменить, и он не работает после vagrant reload (запрашивает пароль):

config.vm.synced_folder "./", "/home/vagrant"

Все остальное в файле осталось неизменным. Любая идея, что здесь происходит?

4b9b3361

Ответ 1

Обратите внимание на то, что на самом деле происходит здесь. Когда вы делитесь папкой /home/vagrant, поставщик виртуальной машины (скорее всего, VirtualBox) имеет контроль над этой папкой, а разрешения становятся все искаженными VirtualBox. Вы не сможете установить 0700 perms для папки .ssh, и вы не сможете установить 0600 perms для файла authorized_keys внутри . ssh. Следовательно, команда бродяга ssh будет явно запрашивать пароль, поскольку он не может проверить открытый ключ в папке .ssh.

Макио был прав в /vagrant как папке общего доступа по умолчанию. Вы можете использовать практически любую папку, кроме папки /home/vagrant. Я знаю об этом лично, потому что я столкнулся с той же проблемой, что и вы. Предоставляя Vagrant управлять папкой /home/vagrant, разрешения соответствующим образом устанавливаются для правильной работы vagrant ssh.

Рад, что он разрешен, и я надеюсь, что я проясню, почему именно это дает людям проблему.

c0p