2015-10-03 3 views
2

Я пытаюсь настроить две виртуальные машины с помощью Vagrant, и один из них должен иметь возможность ssh во второй, используя закрытый ключ.Использование тех же ключей ssh ​​для нескольких машин-бродяг

Я определил обе виртуальные машины внутри одного vagrantfile, запустил их, а затем скопировал закрытый ключ из .vagrant в мою первую виртуальную машину. Затем я смог войти в вторую виртуальную машину без пароля.

Проблема в том, что это нестабильно, бродяга перерабатывает этот ключ каждый раз, когда я делаю vagrant up и создает новый. Это, очевидно, нарушает способность ssh от первой виртуальной машины до второй, пока я не снова скопирую секретный ключ.

Мне не особо нравится, какой именно ключ используется Вагрантом, я просто хочу, чтобы он был стабильным, чтобы я всегда мог ssh между моими виртуальными машинами. Как я могу это сделать?

ответ

0

У вас есть 2 возможности сделать это:

  1. имеет оболочку Provisioner запускать каждый раз при загрузке виртуальной машины, чтобы скопировать новый сгенерированный ключ, поэтому в основном каждый раз, когда вы запускаете vagrant up вы будете копировать SSH ключ в VM, так что вы все равно сможете ssh во вторую виртуальную машину.

  2. силы бродяга использовать ключ, добавьте следующий параметр в вашем Vagrantfile, где вы будете хранить свой собственный ключ

    config.ssh.private_key_path = "custom_key_file" 
    config.ssh.forward_agent = true 
    

так Vagrant будет использовать этот файл ключа при загрузке виртуальной машины и вы можете скопировать этот ключ в свою виртуальную машину на ssh во второй

+0

Спасибо за ответ, но как я могу предоставить соответствующий открытый ключ с опцией 2? – Vivian

+0

вы можете включить 'config.ssh.forward_agent' –

Смежные вопросы