Saiba como o comando SCP Linux pode ajudar você em sua jornada para transferir arquivos em máquinas locais ou remotas.
O comando Secure Copy Protocol (SCP) é uma ferramenta fundamental para quem usa Linux. Afinal, é útil para transferir arquivos de forma segura entre máquinas locais e remotas.
Basicamente, ele permite copiar arquivos de um localhost para um servidor remoto e vice-versa, utilizando o protocolo Secure Shell (SSH). É muito usado por administradores de sistema e usuários avançados para movimentar dados de maneira eficiente e criptografada.
Neste artigo, vamos explorar detalhadamente como utilizar o comando SCP no Linux e como transferir arquivos entre máquinas. Confira também algumas opções para otimizar as suas operações.
O que é o comando SCP?
É um utilitário que permite a transferência de arquivos entre duas máquinas (local ou remota) de forma segura, utilizando o SSH.
A principal vantagem do SCP sobre outras ferramentas de cópia de arquivos, como File Transfer Protocol (FTP) ou Hypertext Transfer Protocol (HTTP), é a criptografia, que protege os dados enquanto são transmitidos. Por isso, ele é uma escolha excelente para movimentar informações sensíveis ou confidenciais.
Além disso, pode ser usado em casos como:
- Transferências simples, como cópia de um arquivo único.
- Operações mais complexas, como a transferência de diretórios inteiros, com suporte a autenticação baseada em chave SSH ou com senha.
O SCP faz parte dos principais comandos Linux voltados para a administração de servidores e sistemas. Ele está disponível na maioria das distribuições, como Ubuntu, Debian e Fedora, entre outras.
Qual é a sintaxe do comando SCP Linux?
A sintaxe básica segue o formato:
scp [opções] fonte destino
Em que:
- fonte: é o caminho para o arquivo que você deseja transferir. Pode ser local ou remoto.
- destino: é o local para onde o arquivo será copiado. Pode ser em outra máquina ou no mesmo sistema.
Alguns exemplos típicos incluem copiar arquivos entre o localhost e um servidor remoto ou entre dois servidores diferentes.
A simplicidade e flexibilidade da sintaxe o tornam ideal para diversos tipos de operações de transferência de arquivos.
Como copiar arquivos com o comando SCP Linux?
Existem diferentes cenários em que você pode fazer isso. Vamos explorar cada um desses casos nas linhas a seguir.
Arquivo local para um ambiente remoto
Uma das funcionalidades mais comuns do SCP é copiar arquivos do seu localhost (ou seja, a sua máquina local) para um servidor remoto.
Para isso, você precisa conhecer o endereço IP ou o nome de domínio da máquina remota, bem como as credenciais de autenticação.
Exemplo de comando para copiar um arquivo do localhost para um local remoto:
scp /caminho/do/arquivo usuario@servidor_remoto:/caminho/de/destino
Por exemplo, se você quiser enviar um arquivo chamado documento.txt do seu localhost para o diretório /home/usuario/ em um servidor remoto com o endereço 192.168.1.100, o comando seria:
scp documento.txt usuario@192.168.1.100:/home/usuario/
Este comando pede a senha do servidor remoto para autenticação e, em seguida, inicia a transferência.
Arquivo remoto para o localhost
Você também pode usar o comando SCP Linux para copiar um arquivo de um servidor remoto para o seu localhost. Isso é útil quando se deseja baixar backups, logs ou qualquer outro tipo de dado armazenado em um servidor.
Exemplo de comando para copiar um arquivo de um servidor remoto para o localhost:
scp usuario@servidor_remoto:/caminho/do/arquivo /caminho/de/destino/no/localhost
Se você quiser baixar o arquivo backup.zip de um servidor remoto para o diretório /home/meuusuario/ no localhost, o comando seria:
scp usuario@192.168.1.100:/home/usuario/backup.zip /home/meuusuario/
Arquivo remoto para outro local remoto
O SCP Linux também permite copiar arquivos diretamente de um servidor remoto para outro, sem que eles passem pelo localhost. Para isso, basta especificar ambos.
A seguir, temos um exemplo de comando:
scp usuario1@servidor1:/caminho/do/arquivo usuario2@servidor2:/caminho/de/destino
Por exemplo, se você precisar transferir um arquivo chamado dados.csv de um servidor remoto 192.168.1.100 para outro 192.168.1.101, o comando seria:
scp usuario@192.168.1.100:/home/usuario/dados.csv usuario@192.168.1.101:/home/usuario/
Leia mais:
Quais são as opções avançadas do comando SCP?
O comando SCP conta com várias alternativas que ampliam a sua funcionalidade e flexibilidade. Aqui estão algumas das mais úteis.
Copiar pastas inteiras
Para copiar diretórios e todo o seu conteúdo, utilize a opção -r (recursiva):
scp -r /caminho/da/pasta usuario@servidor_remoto:/caminho/de/destino
Exemplo:
scp -r /home/meuusuario/documentos usuario@192.168.1.100:/home/usuario/backup
Especificar porta SSH
Se o servidor remoto utiliza uma porta SSH diferente da padrão (22), use a opção -P para especificá-la:
scp -P 2222 arquivo.txt usuario@192.168.1.100:/home/usuario/
Autenticação por chave SSH
Caso use chaves SSH para autenticação em vez de senha, você pode especificá-la com a opção -i:
scp -i /caminho/para/sua_chave.pem arquivo.txt usuario@192.168.1.100:/home/usuario/
Limitar a largura de banda
Para não sobrecarregar a sua rede durante a transferência, use a opção -l para definir a taxa de transferência em kilobits por segundo:
scp -l 1000 arquivo.txt usuario@192.168.1.100:/home/usuario/
Habilitar compressão
Já para otimizar a transferência de arquivos grandes, especialmente em conexões lentas, a opção -C ativa a compressão dos dados:
scp -C arquivo_grande.tar.gz usuario@192.168.1.100:/home/usuario/
Como usar SCP com senha no Linux?
Em muitos cenários, especialmente quando a chave SSH não estiver configurada, o comando SCP solicitará a senha do usuário no servidor remoto para autenticação.
Por exemplo:
scp arquivo.txt usuario@192.168.1.100:/home/usuario/
Quando o comando for executado, será solicitado a inserção da senha do usuário “usuario” no servidor 192.168.1.100. Essa é uma forma comum de autenticação quando as chaves SSH não são usadas.
O comando SCP apresenta várias possibilidades para os usuários de Linux.
Conclusão
Como vimos, o comando SCP é essencial para qualquer administrador ou usuário de sistema Linux que precisa transferir arquivos de forma segura entre máquinas locais e remotas. Ele se baseia no protocolo SSH, garantindo criptografia e proteção dos dados.
Além disso, essa é uma solução flexível, com várias opções avançadas. Entre elas, temos a transferência de diretórios inteiros, autenticação por chave SSH, compressão de arquivos e definição de limites de largura de banda.
Independentemente se você usa Ubuntu ou outras distribuições, ele é indispensável para copiar arquivos entre máquinas com segurança.
Agora que você conhece os principais comandos e opções, pode aplicar o SCP Linux em suas tarefas diárias de gerenciamento de servidores e sistemas!