Две отдельные машины Vagrant, хост Windows, PuTTY — как?

Я хотел бы создать две бродячие машины с помощью двух бродячих файлов и иметь возможность подключаться к ним по ssh через PuTTY.

Я думал, что это может быть так же просто, как переадресация одного из них через, скажем, порт 2223 вместо 2222 и использование двух соединений PuTTY.

Несмотря на то, что мой бродячий ssh-config выглядит так:

HostName 127.0.0.1
User vagrant
Port 2223
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "XXXXXXXXXXXXXXXXXXXXXXXXXXX"
IdentitiesOnly yes
LogLevel FATAL

... Кажется, я могу подключиться к нему по ssh через PuTTY на порту 2222, который я надеюсь зарезервировать для доступа к другому экземпляру, который я еще не настроил. Я новичок в бродяге и, возможно, делаю ошибку нуба. Помощь приветствуется.


person ropz    schedule 31.07.2013    source источник


Ответы (2)


В соответствии со спецификацией Vagrant Base Box сетевым режимом по умолчанию является NAT, а переадресация портов для SSH включена (гость 22 => хост 2222).

То, что вы сделали, изменение файла sshd_config в гостевой системе не сработает, потому что это изменит только порт SSH в гостевой системе на 2223, а НЕ хост.

Для 2-го бродячего ящика нужно сделать следующее:

  1. Получить имя или UUID VBoxManage list vms
  2. Используйте VBoxManage showvminfo VM_Name, чтобы получить список правил переадресации портов.
  3. Удалите его правило переадресации портов guestsh NAT по умолчанию.
  4. Добавьте новое правило переадресации портов, чтобы сделать guest 22 => host 2223.

Например:

По умолчанию правило называется ssh

NIC 1 Rule(1):   name = ssh, protocol = tcp, host ip = 127.0.0.1, host port = 2222, guest ip = , guest port = 22

Удалите это

VBoxManage modifyvm "VM_Name" --natpf1 delete "ssh"

Добавить новое правило

VBoxManage modifyvm base_box --natpf1 "guestssh, tcp,,2223,,22"

Еще не сделано!!!

НЕ используйте vagrant up для запуска этой ВМ, потому что это вернет правило ssh.

Вы можете использовать графический интерфейс VirtualBox или VBoxManage controlvm, чтобы запустить его. И подключитесь к нему с помощью ssh -p 2223 vagrant@localhost, пароль vagrant. Вы также можете использовать небезопасную пару ключей для аутентификации с открытым ключом, хотя это не имеет особого смысла.

ПРИМЕЧАНИЕ: изменение, добавление и удаление правил переадресации портов в любом случае можно выполнить с помощью графического интерфейса VirtualBox, если вам так проще.

person Terry Wang    schedule 31.07.2013

Вы можете установить любой порт, который вам нравится, поместив его в свой vagrantfile:

config.vm.network "forwarded_port", guest: 22, host: 2223

заменив 2223 на выбранный вами порт - очевидно, разные для каждой виртуальной машины.

Обратите внимание, что это в дополнение к стандартной переадресации портов 2222, которая по-прежнему будет сопоставляться для каждой виртуальной машины. Один из них «выигрывает» и отвечает на 2222, а также на любой другой настроенный вами порт.

Процедура в принятом ответе вполне может работать, но кажется немного запутанной.

person jmetcher    schedule 07.04.2014