Em uma VM Debian Stretch (rodando no VirtualBox em um host Windows 7), gostaria de me conectar via SSH a um host remoto específico (vamos chamá-lo de myServer
, com IP 12.34.56.78
). Para isso, estou usando meu smartphone Android como modem USB, que funciona bem: posso acessar a internet e gerar algum tráfego 'ping' e HTTP/HTTPS, e até abrir uma conexão SSH com um comando como:
ssh [email protected] -b a.b.c.d -p portNumber -i ~/.ssh/id_rsa
NB: a.b.c.d
o endereço IP dinâmico é atribuído à minha interface USB no momento da conexão
Para facilitar as coisas, gostaria de ter todas essas configurações, ~/.ssh/config
então só preciso digitar ssh myServer
:
Host myServer
HostName 12.34.56.78
Port portNumber
# BindAddress a.b.c.d <== commented because this is part of the question
# BindInterface usb0 <== same as above
User httqm
IdentityFile ~/.ssh/id_rsa
- Posso descomentar a
BindAddress
linha e especificar o endereço IP, o que funciona, mas não oferece nenhum ganho em comparação com a linha de comando SSH completa, poisa.b.c.d
é dinâmico usando oInterface de ligaçãoopção (sem
BindAddress
) falha com mensagem de erro:~/.ssh/config: line 154: Bad configuration option: bindinterface ~/.ssh/config: terminating, 1 bad configuration options
Esta mensagem de erro é esperada desde que a BindInterface
diretiva foi introduzida pelo Openssh 7.7 (https://www.openssh.com/releasenotes.html) enquanto eu tenho:
$ dpkg -l openssh-client
openssh-client 1:7.4p1-10+deb9u6
Para solucionar isso, estou considerando várias soluções:
defina uma rota com
ip route ...
comandos para que tudo o que for direcionadomyServer
passe pela interface USB. Até agora, tentei comandos como este:ip route add to 12.34.56.78 protocol static dev usb0
O comando em si não retorna nenhum erro, mas não consigo abrir uma conexão SSH com ssh myServer
, nem consigo fazer ping.
defina uma regra do Netfilter para que todo o tráfego de/para 12.34.56.78 passe pela interface usb0. Será que isso funcionaria? Devo investigar esta solução?
atualizar
openssh-client
de backports, se disponível
Você pode explicar o que funcionaria/não funcionaria (e por quê)? O que você sugeriria para atingir meu objetivo, que é conectar-se ao meu host SSH com uma linha de comando curta, como ssh myServer
considerar que meu endereço de origem é dinâmico?