По умолчанию Vagrant использует незащищенный закрытый ключ, используемый при входе в систему с помощью vagrant ssh.
Vagrant поддерживает указание другого закрытого ключа через private_key_path, однако я не понимаю, как лучше всего доставить этот ключ с помощью файла коробки. Учебные пособия и веб-сайты, которые я нашел, обычно предполагают, что пользователи установили ключ в общем месте.
Однако я бы хотел доставить только коробочный файл без дополнительных действий по настройке.
Могу ли я сделать это только с помощью стандартного ssh-ключа vagrant?
Закрытый ключ по умолчанию поставляется с Vagrant, поэтому дополнительных шагов тоже нет. Просто используйте соответствующий открытый ключ в ВМ. Добавление и доставка настраиваемого ключа может иметь смысл только тогда, когда вы контролируете распространение ящика и не хотите, чтобы кто-либо еще мог войти в запущенные экземпляры. Даже в этом случае я бы скорее всего установил и настроил новый ключ на этапе подготовки.
При этом файл коробки Vagrant представляет собой zip-архив или (опционально gzip) tar-архив. Вы можете включить закрытый ключ, например, в каталог верхнего уровня, а также добавить открытый ключ к authorized_keys бродячего пользователя ssh в самой виртуальной машине.
Затем, чтобы настроить Vagrant для использования ключа, вы включаете Vagrantfile в поле с таким содержимым, как:
Vagrant.configure("2") do |config|
config.ssh.private_key_path = File.expand_path("../my_secret_key", __FILE__)
end