На работе у меня есть мощная машина, на которой установлен Debian Linux, но, к сожалению, у меня нет прав администратора на этой машине, так что, среди прочего, больно обновлять или устанавливать пакеты. Тем не менее, у меня установлен Vagrant (v.1.6.5, довольно старый…), и я хотел бы использовать его, чтобы упростить работу с этой машиной.

Теперь я могу сделать следующее:

  • если я запускаю ssh jdoe@my-server.net , он регистрирует меня на хосте Debian
  • если я запускаю ssh -p 2222 -o HostKeyAlias='alias' -o CheckHostIP='no' vagrant@my-server.net , он регистрирует меня в окне Vagrant, запущенном на моем хосте Debian, в котором у меня более высокие привилегии и могу установить все что захочу

Я достиг этого, просто используя переадресацию портов в моем Vagrantfile , с помощью:

config.vm.network :forwarded_port, guest: 22, host: 2222, host_ip: "0.0.0.0", id: "ssh", auto_correct: true

Он работает нормально, за исключением случаев, когда я не физически в офисе, тогда набираю слишком медленно и т.д. Поэтому я хотел бы использовать mosh вместо SSH, но не могу найти способ сделать это.

Я пытался:

  • mosh --ssh="ssh -p 2222 -o HostKeyAlias='alias' -o CheckHostIP='no'" vagrant@my-server.net который, я полагаю, не получает сообщений обратно от mosh-server и дает мне сообщение "mosh: ничего не получено от сервера через UDP-порт 60001"
  • переадресация порта от гостя Vagrant на хост Debian с помощью socat UDP4-RECVFROM:60001,fork UDP4-SENDTO:10.205.129.26:60001 но, конечно, тогда предыдущая команда mosh сообщит об использовании порта 60001 и выберет порт 60002
  • настройка частной сети для моего Vagrant box: ничего не изменилось

Требования:

  • Я не могу использовать другое имя хоста и IP-адрес, чем IP-адрес my-server.net, поэтому я не могу использовать функцию общедоступной сети Vagrant
  • Я не могу запустить любую команду от имени администратора на хосте Debian, поэтому я не могу устанавливать новые пакеты или даже обновлять существующие

Вещи, которые я знаю:

  • Я знаю, что mosh не поддерживает перенаправление портов SSH, но я не уверен, что это применимо в моем случае
  • Я знаю, что ящики Vagrant не поддерживают обратную переадресацию портов с гостя на хост

Мой главный вопрос: «Возможно ли то, что я хочу сделать?и если да, то чего мне не хватает?». Если вы видите другой способ решить более серьезную проблему (подключиться удаленно к ВМ / контейнеру, работающему на машине, на которой вы не являетесь администратором), я буду рад прочитать ваши предложения.

0