Como transferir arquivos remotos para locais usando SSH

Como transferir arquivos remotos para locais usando SSH

Qual comando de terminal posso usar para transferir um diretório de uma máquina remota (linux) para minha máquina local (mac)?Mais importante ainda, eu gostaria de fazer isso na linha de comando enquanto estiver usando SSH na máquina remota.Eu sei como usar o SCP na linha de comando da minha máquina local, mas não tenho ideia de como usá-lo na máquina remota (nem qual seria o meu caminho local).

Responder1

Inicie o sshdem seu computador local, caso ainda não tenha feito isso. Então comece umsegundosessão do seu computador local para o computador remoto:

ssh -R 2222:127.0.0.1:22 user@remote

Isso encaminha a porta remota 2222 para a sshdescuta em 127.0.0.1 no seu computador local, criando um arquivo reverse tunnel. Em seguida, execute scpno computador remoto:

scp -P2222 file 127.0.0.1:/path/

Responder2

Você também pode fazer o oposto, pegar um arquivo de uma máquina remota para a máquina local,

ssh -L 2222:[email protected]:22 [email protected] -N &
scp -P 2222 127.0.0.1:/path/to/file/on/remote/machine.diff /tmp

O comando ssh configura um túnel de localhost:2222 para a máquina remota 192.168.1.37 atrás do servidor voltado para a rede remoteserver.com. O segundo comando permite copiá-lo localmente.

Algunsbons exemplos e dicas aquie como configurá-lo em ~/.ssh/config para automatizá-lo.

Responder3

Se você estiver localmente atrás de um roteador/firewall que fornece um endereço IP privado, você precisará configurar o roteador para NAT uma porta para mapear para sua porta local 22. Você pode então acessá-lo a partir do computador remoto endereçando seuendereço IP públicoem qualquer porta que você escolher (você pode mapear a porta 22 diretamente, mas geralmente recomendo evitar isso, pois as portas de servidor padrão são alvos comuns para malware que tentam encontrar uma maneira de entrar).

informação relacionada