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.
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.