Para mim, as redes são uma coisa muito "opaca" e, mesmo lendo muitos tutoriais 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, para entender o que cada linha realmente faz e evitar usá-la como algo mágico. Além disso, se algum número de porta for usado, me explique se posso escolher um número completamente aleatório ou se eu tiver que escolher um específico.)
linux
ssh
ssh-tunnel
Vincent
fonte
fonte
Respostas:
Configure um arquivo de configuração ssh:
Esse arquivo ajudará de várias maneiras, mas, em última análise, permitirá que você faça tudo isso com uma única etapa.
Primeiro, configure aliases para cada máquina
Agora você pode usar o "ssh -X bridge" para conectar-se à primeira máquina.
Para esta próxima etapa, você precisará do netcat em cada máquina (tente "qual nc") para verificar. Em seguida, use um ProxyCommand com sua configuração de máquinas 'final' para que ele leia:
Este comando envia o que você deseja, através da máquina central, para hospedar% h na porta% p (ou seja, se você deseja enviar outros dados do aplicativo através de portas diferentes, é possível - desde que essa conexão esteja aberta)
Se você tiver as chaves configuradas, também não haverá solicitações de senha; caso contrário, será solicitado o primeiro e o final da ponte.
Agora "ssh final" deve funcionar, assim como:
fonte