
Meu objetivo é, se possível, conectar-me através
$ ssh host final
Porque eu preciso de uma conexão ssh para encapsular uma conexão com o mysql, que o ponto final pode fazer, mas o hop-host não.
TL; DR
Na verdade, estou procurando uma maneira de .ssh/config
me permitir fazer
host final ssh
Quando nos bastidores isso faria
ssh -t hop-host ssh host final
Quando a ação nos bastidores é
Macbook -> hop-user@hop-host (id_rsa authentication) -> end-host-user@end-host (id_rsa authentication)
Onde o host final, o usuário do host final e o arquivo de identidade para o host final são conhecidos e definidos no /home/hop-user/.ssh/config
hop-host.
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
Host Hop Cent OS ~/.ssh/config
para usuário 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: Não consigo alterar nenhuma configuração em hosts hop/end e não nc
os instalei.
Problema atual com a configuração fornecida
$ ssh end-host
canal 0: falha na abertura: proibido administrativamente:
falha na abertura ssh_exchange_identification: Conexão fechada pelo host remoto
Coisa que funciona:
$ ssh -t hop-host ssh ponto final-hostname-como-definido-on-hop-host
me avisa corretamente end-host-bash$ e me permite fazer o que eu quiser a partir daí
Coisas que não funcionam ou funcionam parcialmente e que tentei
1) Alterando ~/.ssh/config
a configuração do host final do Macbook para HostName e User
Host end-host
HostName valid.tested.internal.ip.address.to.end.host
User end-host-user
ProxyCommand ssh -W %h:%p hop-host
$ ssh host final
[e-mail protegido]senha de:
O que obviamente não tenho. E acho que é porque o hop-host .ssh/config
não é vermelho.
2) Alterando ~/.ssh/config
a configuração do host final do Macbook para ProxyCommand
Host end-host
ProxyCommand ssh -t hop-host ssh end-point-hostname-as-defined-on-hop-host
$ ssh end-host
O pseudo-terminal não será alocado porque stdin não é um terminal.
O pseudoterminal não será alocado porque stdin não é um terminal.
: comando não encontrado2.0-OpenSSH_6.2
ls
^CKilled pelo sinal 2.
bash me retorna a possibilidade de digitar, mas não há exibição dos meus comandos.
Eu entendo que isso ocorre porque há um chamado para -o ProxyCommand="the command in .ssh/config in the right host"
os bastidores, mas posso não entender como isso realmente funciona.