O que você está perguntando é quase o mesmo que isso .
Se você não quiser copiar a chave do gateway para a caixa local, a solução é usar o método 1 (bash alias) nesse post (e abaixo). ssh_config não pode fazer o que você quer. Eu tenho uma explicação detalhada sobre a diferença entre o alias e o método tunnel, que inclui ssh_config ProxyCommand .
Método 1
Em ~/.bashrc , adicione a seguinte linha
alias ssh-test='ssh -t gateway ssh test@test'
No prompt de comando, basta digitar o seguinte
ssh-test
O que ssh -t gateway ssh test@test faz é quase o mesmo que segue
local# ssh gateway
gateway# ssh test@test
Além de combinar os dois passos em um, ele pula a abertura de um shell (csh, bash, etc) em gateway , em vez de iniciar uma sessão ssh para test logo após a autenticação.
Você não precisa de ~ / .ssh / config na caixa local, MAS mantenha o gateway para o test (para uso da chave).
Adicionando ForwardAgent yes a gatway .ssh/config
Host test
HostName 192.168.1.10
ForwardAgent yes
IdentityFile ~/keys/test
User test
Método 2
Se você não quiser copiar a chave do gateway para a caixa local, mas permitir a instalação da sua chave local ssh em test@test . Então você pode usar o seguinte
local ~/.ssh/config
Host gateway
User <gateway user>
HostName <gateway/IP>
Host test
User test
Hostname 192.168.1.10
Port 22
ProxyCommand ssh gateway nc %h %p