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 jdoe@my-server.net
, ele me loga no host do Debian - se eu correr
ssh -p 2222 -o HostKeyAlias='alias' -o CheckHostIP='no' vagrant@my-server.net
, 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 Vagrantfile
com:
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'" vagrant@my-server.net
que, eu acho, falha em receber mensagens de voltamosh-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.