MOSH no servidor bastion, SSH em hosts internos

6

Eu tenho ssh configurado para encaminhar automaticamente pelo host de bastiões:

Host bastion_host
    HostName bastion.example.com

Host internal_host
    ProxyCommand ssh -q bastion_host nc -q0 internal_host.dmz 22
    User internal_user

Isso funciona. No entanto, se eu tentar conectar via mosh , recebo o seguinte erro:

$ mosh internal_host
/usr/local/bin/mosh: Could not resolve hostname internal_host
ssh_exchange_identification: Connection closed by remote host
/usr/local/bin/mosh: Did not find remote IP address (is SSH ProxyCommand disabled?).

O que estou procurando é uma conexão mosh do meu sistema para o host bastion e um túnel normal ssh do host bastion para os hosts internos. Possível?

    
por xj9 25.09.2014 / 01:08

2 respostas

5

Você usa o ProxyCommand em sua configuração ssh e mosh menciona ProxyCommand na mensagem de erro. Eu acho que essa é a pista vital. O mosh usa o ProxyCommand internamente e, ao fazê-lo, provavelmente substitui a sua própria configuração.

Evitei o ProxyCommand com uma invocação manual de encaminhamento de porta como esta:

ssh -fN -L 2222:internal_host.example.com:22 bastion_host

Então eu tento conectar ao localhost na porta 2222:

mosh --ssh="ssh -p2222" internal_user@localhost

Em vez do erro ProxyCommand, recebo isto:

mosh-server: invalid option -- 'l'
Usage: mosh-server new [-s] [-i LOCALADDR] [-p PORT] [-c COLORS] [-- COMMAND...]

Eu suspeito que isso é devido a diferentes versões do mosh, como eu vejo, mesmo quando usando mosh diretamente sem o bastion_host. De qualquer forma, uma conexão direta funciona apesar da mensagem, então não acho que seja esse o problema. Em vez disso, acho que a questão é que o encaminhamento de porta manipula apenas a porta 22, enquanto o mosh também usa uma porta UDP em 60000: 61000. O tunelamento ssh não pode encaminhar facilmente o tráfego UDP, então acho que é melhor você usar uma arquitetura diferente.

Eu presumo que você queira usar mosh para o primeiro salto, já que sua máquina local pode mudar de rede, etc. Por que não usar mosh e ssh assim (talvez com um alias)?

mosh bastion_host ssh internal_user@internal_host
    
por 07.10.2014 / 01:53
0

Eu uso mosh para se conectar a um servidor de bastiões e executar tmux nessa sessão para manter conexões permanentes com os servidores internos. Isso pode ser mais útil para sua situação também.

    
por 18.04.2018 / 09:04