TL; DR

TL; DR

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/configme 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/confighop-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/configpara 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 ncos 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/configa 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/confignão é vermelho.

2) Alterando ~/.ssh/configa 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.

informação relacionada