ssh tunneling com hostname no arquivo / etc / hosts

1

Estou tentando ssh para o host de destino por meio de uma caixa de salto. Abaixo está minha entrada no arquivo de configuração

Host 172.* 
   User surendra
   IdentityFile ~/.ssh/id_rsa
   ProxyCommand ssh -q -A surendra@jump nc -q0 %h %p

Isso funciona bem quando eu SSH para a caixa de destino com o endereço IP. Mas quando eu estou tentando SSH com hostname isso não vai funcionar.

Nota: Também fiz uma entrada no meu arquivo / etc / hosts.

Alguém por favor pode ajudar como configurar o arquivo .ssh / config para que eu possa usar o nome do host na caixa ssh usando a entrada hostname no meu arquivo / etc / hosts.

    
por suru1432002 30.09.2016 / 12:01

2 respostas

1

Use o -W :

Match exec grep %h /etc/hosts
    [...]
    ProxyCommand ssh -W  %h:%p -q -A surendra@jump

Ele resolverá os nomes de host da sua máquina local e não da caixa de depósito.

Ele também verificará se seu host é mencionado no /etc/hosts .

    
por 30.09.2016 / 12:53
1

Outra maneira de contornar isso é criar entradas de mapeamento hostname / ip em sua máquina local e no arquivo jumpbox / etc / hosts.

Vamos supor que a máquina na qual você está tentando fazer proxy seja 10.xx.yy.zz e deseja fornecer um nome de usuário amigável: appserver.mycompany.com e Your Jumpbox é jumpbox.mycompany.com.

1) No seu localhost / etc / hosts, faça uma entrada a seguir

10.xx.yy.zz appserver.mycompany.com

2) No arquivo / etc / hosts do seu Jumpbox, faça a seguinte entrada

10.xx.yy.zz appserver.mycompany.com

Agora que tanto sua máquina local quanto seu jumpbox poderão resolver o nome amigável do usuário para o IP real e seu proxy ssh deve funcionar com a seguinte configuração

Host appserver.mycompany.com
   User surendra
   IdentityFile ~/.ssh/id_rsa
   ProxyCommand ssh -A [email protected] -W %h:%p
    
por 28.07.2017 / 09:10