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
Autodidata, me aprofundei em sistemas operacionais baseados em UNIX®, principalmente Linux. Também procuro trazer assuntos correlacionados direta ou indiretamente, como automação, robótica e embarcados.