SCP: Transferindo arquivos via rede!

O comando SCP permite copiar dados de ou para outras máquinas na rede através de linha de comando de forma relativamente simples e direta!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


 

Comando obsoleto em detrimento do rsync!
O SCP ainda é fornecido junto aos pacotes do OpenSSH e Dropbear porém é preferível que se use diretamente o rsync.

1. Introdução

O SCP é uma ferramenta do Linux que permite copiar arquivos ou pastas entre computadores numa rede de forma segura.
Ele usa o protocolo SSH para estabelecer uma conexão criptografada entre o computador de origem e o computador de destino, garantindo a segurança e integridade dos dados.

Sendo que o comando segue a seguinte sintaxe:

  • scp: o comando SCP em si.
  • -r: copia diretórios recursivamente e também seguirá links simbólicos assim.
  • -p: Copia tempos de modificação, tempos de acesso, bits de modos de arquivos e permissões.

Também temos parâmetros como:

  • -s: força o uso do protocolo de criptografia do SFTP em vez do SCP sobre a aplicação scp.
  • -q: torna a transferencia silenciosa sem gerar logs do que foi copiado.
  • -P: define uma porta diferente da padrão 22.
  • -o: passa opções SSH diretamente para o SCP.
  • -C: habilita a compressão antes do envio.
  • -l: limita a conexão em kbps.

Sem citações sobre como instalar porque o comando estará no seu sistema se você já tiver a aplicação SSH configurada no sistema, o que é altíssima a chance disso ser real!

2. Comando SCP

2.1 Cópia Local para um Servidor Remoto

O comando completo é basicamente este:

$ sudo scp -rp /pasta/origem/* usuario@IP_do_alvo:/pasta/destino/

Ele pedirá a senha local por conta do “sudo” e depois a senha do ssh.
O comando destrinchado seria:

  • usuario: o nome de usuário usado para fazer login no servidor remoto.
  • IP_do_alvo: o endereço IP do servidor remoto.
  • /pasta/origem/*: o caminho para o arquivo ou o conteúdo da pasta que você deseja transferir.
  • /pasta/destino/: o caminho completo para o local onde você deseja salvar o arquivo ou pasta.

Aguarde até concluir a cópia. A aplicação apresenta uma barra de progresso no terminal durante a transferência!

2.2 Cópia Servidor Remoto para o Local

Baseado no item acima, se invertermos a sintaxe do comando:

$ sudo scp -rp usuario@IP_do_alvo:/pasta/origem/* /pasta/destino/

Ele pedirá a senha local por conta do “sudo” e depois a senha do ssh.

O comando destrinchado seria:

  • usuario: o nome de usuário usado para fazer login no servidor remoto.
  • IP_do_alvo: o endereço IP do servidor remoto.
  • /pasta/origem/*: o caminho para o arquivo ou o conteúdo da pasta que você deseja transferir.
  • /pasta/destino/: o caminho completo para o local onde você deseja salvar o arquivo ou pasta.

Aguarde até concluir a cópia. A aplicação apresenta uma barra de progresso no terminal durante a transferência!

2.3 Transferindo multiplos arquivos

Para transferir múltiplos arquivos de forma individual, use a seguinte sintaxe:

$ sudo scp -p arquivo1.txt arquivo02.pdf usuario@IP_do_alvo:/pasta/destino/

ou inverta conforme mostrado antes:

$ sudo scp -p usuario@IP_do_alvo:/pasta/destino/ arquivo1.txt arquivo02.pdf

3. Conclusão

Saber manipular dados na rede de forma simples com o comando scp é uma forma de agilizar seu trabalho uma vez que mapeamentos de rede como SMB ou FTP podem “quebrar” se não forem devidamente ajustados e requerem mais passos para que essas conexões se sustentem por mais tempo.

A segurança da transferência estará atrelada à força da senha utilizada via ssh; use senhas fortes e cuide para não expô-las desnecessariamente para reduzir riscos!

Baseado em:
qnax.sh

Deixe um comentário