2016-04-01 2 views
1

Я использую vagrant/VirtualBox на своем окне (8.1) Ноутбук для запуска linux-test-vm с терминала Cygwin ... , vagrant ssh, все работает нормально.cygwin/sshd и Virtualbox

Теперь я хочу удаленно работать с этой средой с моей основной Linux-рабочей станции, поэтому я установил sshd в Cygwin, и я могу успешно ssh в свою Windows-Box (тот же пользователь, что и локально в Windows).

Но когда я cd «издание (через мой удаленного подключения SSH к Windows-ноутбук) в моем рабочем каталоге и побежал vagrant ssh, он говорит мне:

VM must be created before running this command. Run 'vagrant up' first

Но я вижу, что VM работает в VirtualBox GUI в Windows.

С этой точки зрения даже на локальном компьютере Windows я больше не могу взаимодействовать с работающим vagrant vm, а каталог .vagrant (sub) не имеет файлов внутри.


То же самое происходит наоборот:

  • Я остановился/удален ВМ в VirtualBox GUI
  • побежал vagrant up через мое подключение к SSH ... работал
  • побежал vagrant ssh через мое подключение к SSH. .. works
  • но я не вижу VM в VirtualBox GUI на Windows
  • пытается vagrant ssh локально на Windows ... опять же ошибка и .vagrant каталога очищается

Так что я предполагаю, что соединение/SSHD Cygwin создает какое-то разные сессии, которые не разделяют один и тот же «экземпляр» VirtualBox.

Есть ли шанс поделиться виртуальной/бродячей средой между локальной Windows и удаленной сессией ssh ​​???

РЕШЕНИЕ:

  • экспорт SSH-конфигурация на хосте Windows: vagrant ssh-config > ssh_config
  • из Cygwin/SSH прыжка в VM: ssh -F ssh_config default
  • никогда запустить любую vagrant команду из cygwin/ssh

ответ

0

Vagra nt имеет встроенное решение, так как версии 1.7.x называются vagrant share, что также позволяет удаленно удалять ящик в ящик (в обход абстракции хоста Windows). Он обычно используется для функции HTTP (например, чтобы показать клиентам или другим пользователям проекта текущее состояние работы), но есть возможность подключиться к любому сервису, запущенному на любом порту. От the docs:

Просто позвоните vagrant share.Это будет автоматически разделять столько портов , сколько возможно для удаленных подключений. Если среда Vagrant имеет статический IP-адрес или DNS-адрес , то каждый порт будет доступен. В противном случае, Vagrant будет выставлять только перенаправленные порты на машине.

Обратите внимание на имя общего ресурса в конце звонка vagrant share и дайте это человеку, который хочет подключиться к вашей машине. У них просто есть , чтобы позвонить vagrant connect NAME. Это даст им статический IP-адрес, который может использовать для доступа к вашей среде Бродяг.

Примечание для использования vagrant share вам нужна (бесплатная) учетная запись с hashicorp.

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