O SCP (Secure Copy Protocol) é um mecanismo de transferência de arquivos entre dois servidores — desde que um deles seja remoto — usando protocolo SSH (Secure Shell). Para acioná-lo, o usuário utiliza o comando SCP no terminal.
Portanto, o uso do comando SCP é válido sempre que precisamos copiar um arquivo ou diretório:
- do seu sistema local para um sistema remoto;
- de um sistema remoto para um sistema local; e
- entre dois sistemas remotos a partir do seu sistema local.
Dentre as vantagens que mais se destacam no comando SCP estão: a simplicidade de uso (conforme veremos ao longo do conteúdo) e a proteção que ele fornece aos processos de envio e recebimento de dados — graças ao seu sistema de criptografia.
Interessou-se em obter mais informações sobre o comando SCP? Neste artigo, explicarei o seu funcionamento, o processo de instalação no Windows, e exemplos práticos de uso. Vamos começar?
Funcionamento do comando SCP
Neste tópico, veremos como funciona o SCP por meio de sua sintaxe básica; a qual é composta da seguinte expressão:
scp [OPTION] [user@]SRC_HOST:]arquivo1 [user@]DEST_HOST:]arquivo2
Vamos decifrar essa sintaxe? Pois bem, a primeira declaração feita se refere às opções do comando SCP, como configuração ssh, porta ssh, limite, cópia recursiva, entre outras.
A expressão [user@]SRC_HOST:]arquivo1 e [user@]DEST_HOST:]arquivo2 dizem respeito a “arquivo de origem” e “arquivo de destino”, respectivamente.
Vale frisar que as opções disponíveis no comando SCP são numerosas, detalhe que justifica, de certa forma, a infinidade de coisas que este simples comando nos possibilita fazer. Abaixo, alguns exemplos de opções:
- [-P]: especifica a porta pela qual ocorrerá a transferência;
- [-r]: copia os diretórios e os subdiretórios;
- [-b]: especifica o tamanho do buffer a ser usado na transferência;
- [-u]: deleta o arquivo de origem após a conclusão da cópia para o outro servidor;
- [-h]: exibe um breve sumário das opções de comando.
Observação: sistemas baseados em Unix são case sensitive, ou seja, há diferenças de aplicação entre caracteres maiúsculos e minúsculos. Entendido? Então vamos à instalação do SCP.
Download e instalação do Secure Copy Protocol
O comando SCP, por padrão, já vem instalado nas distribuições do Linux — o mesmo acontece no Mac OS. Sendo assim, os processos de download e instalação que veremos neste tópico se referem ao sistema operacional da Microsoft.
Há três métodos de instalação do cliente SCP no sistema Windows. O principal deles é instalando o PuTTY (link para download), um cliente para protocolos SSH amplamente utilizado no Windows e que acompanha o comando SCP no seu pacote.
A principal vantagem em instalar o PuTTY é que o usuário passa a contar com outras funções muito interessantes usando o SSH, como o seu recurso de compressão de dados.
Entretanto, se você deseja instalar apenas o SCP, faça o download do executável do PSCP (PuTTY SCP) no mesmo link (é o segundo da lista de “Alternative binary files”).
O último método de instalação é por meio do WinSCP, um cliente SFTP e FTP para o Windows. Basta fazer o download do executável e fazer a instalação padrão. Ao instalar qualquer um dos programas, o seu Windows está preparado para receber os novos comandos.
Vale salientar que o método de instalação via PuTTY ou PSCP requerem o uso do comando PSCP antes do SCP em si, pois é uma funcionalidade do PuTTY para executar as instruções do SCP. Por exemplo, ao usar o comando para copiar arquivos entre dois servidores, faça o seguinte:
pscp -scp arquivos.txt [email protected]:/home/usuario_remoto
Aproveitando que estamos falando de comandos, vejamos, a seguir, seis exemplos de uso do comando SCP.
6 exemplos de aplicação do comando SCP
Já deixou o seu Windows preparado para os comandos SCP? Ótimo! Neste tópico, elenquei uma série de instruções básicas (mas muito utilizadas).
1. Cópia reversa de arquivos
Da mesma forma que se pode copiar arquivos de um computador local para um remoto, o comando SCP permite que se faça o contrário: copiar de um computador remoto para outro local. Para isso, use o comando da seguinte maneira:
scp [email protected]:/home/usuario_remoto/* /var/lib/arquivos/
2. Executar transferência de arquivo usando uma porta específica
Principalmente em sistemas rigidamente controlados pelo firewall e outros mecanismos de segurança, é comum transferir dados por meio de uma porta específica. Mas como fazer a cópia de um arquivo numa determinada porta? Supondo que a porta em questão seja a 988, use a opção -P.
scp -P 988 /var/lib/arquivos/* [email protected]:/home/usuario_remoto
3. Copiar vários arquivos simultaneamente
Diferentemente do que está parecendo até aqui, o usuário não precisa transferir um arquivo de cada vez; basta ele utilizar espaços na sintaxe para fazê-lo. Abaixo, um exemplo de transferência de cinco arquivos:
scp arquivo1.txt arquivo2.exe arquivo3.txt arquivo4.pdf arquivo5.mp4 [email protected]:/home/usuario_remoto/downloads
4. Limitar o consumo de banda larga
Dependendo da quantidade de arquivos a serem transferidos, convém reduzir o consumo de banda larga nesse processo em especial, evitando que a transferência atrase outras tarefas que dependem da internet. Para isso, use o comando:
scp -vrC -l 250 ~/Downloads [email protected]:/root/Downloads
Observação: o valor “250” se refere à velocidade da banda em Kbit/s.
5. Comprimir arquivos para acelerar a transferência
A compressão de arquivos é um método extremamente útil para melhorar a velocidade da transferência. Ele se torna ainda mais providencial quando o uso de banda larga é limitado pela própria rede corporativa, visto que poupa tempo e consumo de internet. Use o comando -C para compressão dos arquivos:
scp -C ~/Downloads [email protected]:/root/Downloads
6. Silenciar os processos do SCP
Se a ideia é deixar as transferências rodando em segundo plano enquanto você trabalha, utilize a opção -q para silenciar as mensagens de alerta e diagnóstico, bem como esconder o indicador de progresso.
scp -q ~/arquivo.iso [email protected]:/root/arquivos/arquivo.iso
Os exemplos mencionados até aqui dão uma pequena amostra do quanto se pode fazer com o comando SCP. Conforme você praticar os comandos e familiarizar-se com o terminal do Linux, a tendência é que o desenvolvimento da carreira nessa área acelere bastante. Nesse sentido, como você está se preparando?
Na página do Profissionais Linux, você pode acessar a diversos conteúdos que o ajudarão a adquirir expertise em sistemas Linux e, consequentemente, irão prepará-lo para o mercado de trabalho. Conheça o projeto!