No trabalho, eu tenho uma máquina poderosa rodando Debian Linux, mas, infelizmente, eu não tenho direitos de administrador nesta máquina, então é difícil atualizar ou instalar pacotes, entre outras coisas. No entanto, eu tenho o Vagrant instalado (v.1.6.5, tão antigo…) e gostaria de usá-lo para facilitar o trabalho com esta máquina.

Agora sou capaz de fazer o seguinte:

  • se eu correr ssh [email protected], ele me loga no host do Debian
  • se eu correr ssh -p 2222 -o HostKeyAlias='alias' -o CheckHostIP='no' [email protected], ele me registra em uma caixa Vagrant rodando no meu host Debian, no qual eu tenho privilégios mais altos e posso instalar o que eu quiser

Eu consegui isso simplesmente usando o encaminhamento de porta no meu Vagrantfilecom:

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

Ele funciona bem, exceto quando eu não estou fisicamente no escritório, então a digitação é super lenta, etc. Portanto, eu gostaria de usar mosh ao invés de SSH, mas não consigo encontrar uma maneira de fazê-lo.

Eu tentei:

  • mosh --ssh="ssh -p 2222 -o HostKeyAlias='alias' -o CheckHostIP='no'" [email protected] que, eu acho, falha em receber mensagens de volta mosh-server e me passa a mensagem "mosh: Nada recebido do servidor na porta UDP 60001".
  • encaminhamento de porta do convidado Vagrant para o host Debian com socat UDP4-RECVFROM:60001,fork UDP4-SENDTO:10.205.129.26:60001 mas é claro que o comando mosh anterior reportará a porta 60001 em uso e selecionará a porta 60002
  • configurando uma rede privada para minha caixa Vagrant: não mudou nada

Requisitos:

  • Não consigo usar um nome de host e IP diferentes do IP do "my-server.net", portanto não posso usar o recurso de rede pública do Vagrant
  • Eu não posso executar nenhum comando como admin no host Debian, então não posso instalar novos pacotes ou atualizar os já existentes.

Coisas que eu sei:

  • Eu sei que mosh não suporta o encaminhamento de porta SSH, mas não tenho certeza se aplica no meu caso
  • Eu sei que as caixas Vagrant não suportam encaminhamento de porta reversa, do convidado para o host

Minha principal questão é: "O que eu quero fazer é mesmo possível?" e se sim, "O que estou perdendo?" Se você vir outra maneira de resolver o problema maior (conectar-se remotamente a uma VM / contêiner em execução em uma máquina na qual você não é administrador), fico feliz em ler suas sugestões.

filaton
fonte