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