sftp / fish over hop duplo com diferentes usuários

0

Estou tentando definir uma sessão ssh em um salto duplo com diferentes usuários em cada salto para transferir arquivos facilmente via fish / sftp.

minha aparência de .ssh / config

Host middle_server
    User            foo
    Hostname        192.168.xx.xx

Host www.server.org target
    User            bar 
    HostName        www.server.org
    ProxyCommand    ssh middle_server nc %h %p 2> /dev/null

A conexão com o servidor do meio é segura pela chave rsa e direta do servidor do meio para o destino com o usuário da barra.

Quando tento me conectar ao destino, recebo o seguinte erro:

[foo@localhost]$ ssh target
Enter passphrase for key '/home/foo/.ssh/id_rsa':
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Eu posso conectar com os 2 métodos a seguir, então eu acho que o usuário da barra não é usado para o segundo salto, mas eu não tenho idéia do que pode ser a causa.

[foo@localhost]$ ssh middle_server
Enter passphrase for key '/home/foo/.ssh/id_rsa':
[foo@middle_server ~]$ ssh [email protected]
[bar@www ~]$ 

ou

[foo@localhost]$ ssh -A -t foo@middle_server ssh -A [email protected]
Enter passphrase for key '/home/foo/.ssh/id_rsa':
[bar@www ~]$

Qualquer ajuda será muito apreciada, obrigado antecipadamente!

    
por Eric 20.04.2012 / 13:18

1 resposta

0

Quando você usa ProxyCommand , sua máquina local faz a conexão com o host de destino. Como você deseja criar a conexão do meio para o alvo, você não deve usá-lo (ou não deve usá-lo com nc ).

Eu não usaria ForwardAgent , pois não é totalmente seguro (o usuário root na máquina do meio pode codificar dados usando sua chave usando ssh-agent em sua máquina local).

Portanto, uma solução possível é executar o comando ssh na máquina do meio para segmentar a máquina dentro de seu ProxyCommand na máquina local. Por exemplo:

ssh bar@doesnt_matter_host_here -o ProxyCommand='ssh foo@middle_server "ssh [email protected] nc localhost 22"'

Você pode configurar um host chamado "www_over_middle" com esse ProxyCommand no seu ~/.ssh/config :

Host www_over_middle
    User bar
    ProxyCommand ssh foo@middle_server "ssh [email protected] nc localhost 22"

E então:

ssh www_over_middle
    
por 06.05.2012 / 22:37

Tags