Usando ssh_alias com tunelamento ssh

0

Estou usando o tunelamento ssh para fazer login no sistema por trás do gateway. O problema é que eu tenho ssh_alias definidos em ~ / .ssh / config no servidor de gateway. Onde tenho chave e configuração de ip. Mas esse alias não funciona com o comando nc. Existe uma maneira de usar o alias com o comando nc e usar as configurações de configuração feitas no servidor de gateway? Então eu não preciso baixar a chave no servidor local. Exemplo: GatewayServer

~/.ssh/config
Host test
HostName 192.168.1.10
IdentityFile ~/keys/test
User test

LocalServer ~ / .ssh / config

  Host test
  ProxyCommand ssh gateway nc %h %p

A configuração seguinte falha quando nc não sabe sobre o teste.

    
por Vivek Goel 05.01.2013 / 22:55

1 resposta

1

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
    
por 06.01.2013 / 04:46