SSH do OS X para o Cent OS por meio de um hop do Cent OS

1

Meu objetivo é, se possível, conectar-se por meio de

$ ssh end-host

Porque eu preciso de uma conexão ssh para tunelamento para uma conexão com o mysql, que end-point pode fazer, mas hop-host não pode.

TL; DR

Na verdade, estou vendo uma maneira de ter .ssh/config me permitindo fazer

ssh end-host

Quando atrás da cena faria

ssh -t hop-host ssh end-host


Quando a ação por trás da cena é

Macbook -> hop-user@hop-host (id_rsa authentication) -> end-host-user@end-host (id_rsa authentication)

Onde end-host, end-host-user e arquivo de identidade para o host final são conhecidos e definidos em /home/hop-user/.ssh/config no host hop.

Macbook ~/.ssh/config

Host hop-host
    User hop-user
    Hostname valid.tested.public.ip.address.to.hop.host
    IdentityFile ~/.ssh/id_rsa

Host end-host
    HostName end-point-hostname-as-defined-on-hop-host
    ProxyCommand ssh -W %h:%p hop-host

Hop host Cent OS ~/.ssh/config para o usuário do hop

Host end-point-hostname-as-defined-on-hop-host
    HostName valid.tested.internal.ip.address.to.end.host
    User end-host-user
    IdentityFile ~/.ssh/keys/endhost

Limitação para estar ciente de : não consigo alterar nenhuma configuração nos hosts hop / end e não tenho nc instalado neles.

Problema atual com a configuração fornecida

$ ssh end-host
channel 0: open failed: administratively prohibited:
open failed ssh_exchange_identification: Connection closed by remote host

Coisa que funciona :

$ ssh -t hop-host ssh end-point-hostname-as-defined-on-hop-host

me avisar corretamente end-host-bash $ e permite que eu faça o que eu quiser de lá

Coisas que não funcionam ou funcionam parcialmente e que tentei

1) Alterar Macbook ~/.ssh/config end-host config para HostName e Usuário

Host end-host
    HostName valid.tested.internal.ip.address.to.end.host
    User end-host-user
    ProxyCommand ssh -W %h:%p hop-host

$ ssh end-host
[email protected]'s password:

Que eu obviamente não tenho. E eu acho que é porque o .ssh/config do host hop não é vermelho.

2) Alterando Macbook ~/.ssh/config end-host config para ProxyCommand

Host end-host
    ProxyCommand ssh -t hop-host ssh end-point-hostname-as-defined-on-hop-host

$ ssh end-host
Pseudo-terminal will not be allocated because stdin is not a terminal.
Pseudo-terminal will not be allocated because stdin is not a terminal.
: command not found2.0-OpenSSH_6.2
ls
^CKilled by signal 2.

bash me retorna a possibilidade de digitar, mas não há exibição dos meus comandos.
Eu entendo que é porque há uma chamada para -o ProxyCommand="the command in .ssh/config in the right host" por trás da cena, mas posso estar faltando para entender como ela realmente funciona.

    
por b.enoit.be 04.06.2015 / 12:12

0 respostas