Estou tentando configurar algumas opções universais para rejeitar conexões ssh. Aqui está o meu ~/.ssh/config
arquivo, abreviado:
Host *%via
ProxyCommand ssh gateway -W $(echo %h | cut -d%% -f1) %p
Host gateway
HostName gateway.example.com
User username
ForwardAgent yes
IdentityFile keypathg
Host target
User username
HostName target.example.com
IdentityFile keypatht
Quando utilizo *%via
os Host
aliases, recebo:
% ssh -vvv target%via
OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013
debug1: Reading configuration data /Users/myuser/.ssh/config
debug1: /Users/myuser/.ssh/config line 5: Applying options for *
debug1: /Users/myuser/.ssh/config line 12: Applying options for *%via
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: auto-mux: Trying existing master
debug1: Control socket "/Users/myuser/.ssh/tmp/target%via_22_myuser" does not exist
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec ssh -A gateway -W $(echo target%via | cut -d% -f1):22
debug1: permanently_drop_suid: 501
debug1: identity file /Users/myuser/.ssh/id_rsa type -1
debug1: identity file /Users/myuser/.ssh/id_rsa-cert type -1
debug1: identity file /Users/myuser/.ssh/id_dsa type -1
debug1: identity file /Users/myuser/.ssh/id_dsa-cert type -1
ssh_exchange_identification: Connection closed by remote host
No entanto, se eu utilizar
% ssh target.example.com%via
Eu bati no servidor de destino, mas como o usuário errado e sem autenticação pubkey.
Acho que minha pergunta, neste momento, é se esse método de rejeição, ao utilizar ForwardAgent
, passa por todo o meu ssh config / environment, ou apenas pelas teclas. Se apenas chaves, a primeira pode ser utilizada de alguma maneira?
Minha versão do ssh é 5.9v1, o gateway é 5.9v1 e o destino é 5.3p1. Acredito que -W
foi introduzido na versão 5.4, mas isso não deve importar para a caixa final na linha? utilizar a escola mais antiga nc
não parece diferente.
Eu verifiquei que posso manualmente ssh para cada caixa na linha. Fazer isso indica que as informações do alias do nome do host não são passadas, pois quando no gateway, não posso, ssh target
mas posso ssh target.example.com
. Isso funciona com o pubkey auth. aliás, o gateway e o destino têm o mesmo nome de usuário, e é por isso que funciona se nenhuma configuração for enviada.
Se ForwardAgent
uma configuração semelhante ou não puder enviar essas informações, qual é a melhor maneira de contorná-las, mantendo um .ssh / config no gateway com essas informações?