Criando um túnel ssh para transferir arquivos?

2

Para mim, as redes são muito "opacas" e, mesmo lendo muito o tutorial sobre SSH, não entendo como criar um túnel básico para transferir meus arquivos.

A configuração é a seguinte:

My Computer --[Internet]--> Bridge Machine --[Local Network]--> Final Machine

Atualmente, faço o seguinte:

1) Connect to the Bridge Machine with :
ssh -X [email protected]

2) Connect to the Final Machine with :
ssh -X username@finalmachine

3) I copy the address of files I need (for example .../mydirectory)

4) Then I deconnect from the finalmachine with :
exit

5) I copy the files to the bridge :
scp -r username@finalmachine:/.../mydirectory .

6) I deconnect from the bridge with :
exit

7) I copy the files to my machine :
scp -r [email protected]:/.../mydirectory .

O que é bastante complicado. Minha pergunta é básica: como simplificar isso usando um túnel SSH?

(e por favor me explique o significado de cada linha de comando que você escreve, entenda o que cada linha realmente faz e evite usá-la como uma coisa mágica. Além disso, se algum número de porta for usado, me explique se eu posso escolher um número completamente aleatório ou se eu tiver que escolher um específico.)

    
por Vincent 11.11.2012 / 07:01

1 resposta

3

Configurar um arquivo de configuração ssh:

~/.ssh/config

Esse arquivo ajudará de várias maneiras, mas, no final, permitirá que você faça tudo isso com apenas uma etapa.

Primeiro, configure aliases para cada máquina

Host bridge
User username

Host final
User username

Agora você pode usar "ssh -X bridge" para conectar-se à primeira máquina.

Para o próximo passo, você precisará do netcat em cada máquina (tente "which nc") para verificar. Então, use um ProxyCommand com sua configuração de máquinas 'final' para que ele leia:

Host final
User username
ProxyCommand ssh -CAYq bridge exec nc %h %p

Este comando envia o que você quiser através da máquina central para hospedar% h na porta% p (ou seja, se você quiser enviar outros dados do aplicativo através de portas diferentes, desde que esta conexão esteja aberta)

Se você tiver as chaves configuradas, não haverá prompts de senha, se não: você será solicitado para a primeira ponte, depois para a final.

Agora "ssh final" deve funcionar, assim como:

scp -r final:/.../directory .
    
por 01.12.2012 / 04:48