Há momentos em que você deseja transferir arquivos entre o sistema local e um servidor remoto. Vários protocolos e métodos estão disponíveis para permitir que você controle as transmissões de arquivos de maneira segura.

O comando scp no Linux é uma ferramenta que ajuda um usuário a compartilhar arquivos remotamente entre hosts locais e remotos. Neste artigo, discutiremos o comando scp em detalhes, juntamente com seu uso e alguns recursos adicionais do comando.

O que é o comando Scp

Scp, um acrônimo para Cópia Segura, é um utilitário de linha de comando em sistemas operacionais baseados em Linux que permite ao usuário copiar arquivos entre hosts remotos e locais. Uma vez que o comando transfere arquivos através de uma rede para algum outro host, o acesso SSH é necessário. SSH (Secure Shell) é um protocolo que permite gerenciar serviços de rede com segurança em qualquer rede.

O comando scp também oferece suporte a alguns recursos adicionais, como especificação de parâmetros de autenticação, alteração da porta, transferência de diretórios e muito mais.

instagram viewer

Por que o Scp é melhor do que outros métodos

O scp é geralmente preferido em relação a outros métodos de transferência de arquivos porque, durante a transferência, a conexão entre os dois hosts é criptografada. O protocolo SSH é responsável por criptografar os arquivos, senhas e quaisquer outros detalhes confidenciais.

Outros métodos de transferência, como Telnet ou FTP, não possuem criptografia. Além disso, o par de chaves usuário / senha também é salvo em texto simples, o que não é uma boa prática. Um cracker pode acessar facilmente suas informações farejando sua rede.

Como transferir arquivos com segurança usando Scp

Usando o comando scp, você pode transferir arquivos entre:

  1. Um host local e um host remoto
  2. Um host remoto e um sistema local
  3. Dois hosts remotos

Sintaxe Básica

A sintaxe básica do comando scp é:

scp [opções] [fonte] [destino]

Transferir do host local para um sistema remoto

Se você for um administrador de servidor, a transferência de arquivos entre um host local e hosts remotos pode ser útil para você. Para fazer upload de um arquivo chamado document.txt para um host remoto:

scp /home/document.txt user @ remote-host: /home/document.txt

Observe que a fonte é o caminho do arquivo em seu armazenamento local. E o destino é o caminho do arquivo no host remoto. Você também deve especificar o nome de usuário e o nome de domínio do servidor remoto. No comando acima, do utilizador é o nome de usuário e hospedeiro remoto é o nome do domínio.

O caminho de destino é separado dos detalhes do host remoto usando o cólon personagem (:). Lembre-se de que o usuário deve existir no servidor remoto se quiser transferir os arquivos com êxito. Além disso, o usuário deve ter acesso de gravação ao diretório no qual deseja salvar o arquivo.

Após emitir o comando mencionado acima, o sistema solicitará a senha do usuário remoto. Digite a senha e pressione Digitar.

usuário @ senha do host remoto:

Se a senha for válida, a transferência do arquivo será inicializada. Se você digitou uma senha incorreta, ocorrerá um erro.

Antes de tentar copiar o arquivo usando o comando scp, certifique-se de que os detalhes do host remoto e a senha estejam corretos, efetuando login no servidor usando SSH.

De um host remoto para um host local

Para copiar arquivos de um host remoto para um host local, basta trocar o caminho de origem e de destino no comando scp.

usuário scp @ host-remoto: /home/document.txt /home/document.txt

O sistema solicitará a senha do usuário remoto mais uma vez. Digite a senha para confirmar o processo de transferência.

Entre Dois Hosts Remotos

Para copiar arquivos entre dois servidores remotos, os caminhos de origem e de destino devem ser diretórios nos hosts remotos.

scp user1 @ remote-host1: /home/document.txt user2 @ remote-host2: /home/folder/document.txt

Novamente, um prompt aparecerá solicitando que você insira a senha para cada um dos dois usuários.

Opções de linha de comando Scp

Além de simplesmente transferir os arquivos da origem para o destino, o scp tem algumas opções adicionais que podem ser chamadas usando argumentos específicos.

Mudar a porta

Por padrão, o comando scp funciona na porta 22. No entanto, você sempre pode sobrescrever a configuração padrão e alterar a porta. O -P bandeira permite que você faça o mesmo.

Para usar algum outro número de porta ao copiar arquivos de um host local para um host remoto:

scp -P 35 /home/document.txt user @ remote-host: /home/document.txt

O comando mencionado irá garantir que o comando scp use a porta 35 para transferir arquivos.

Preservar registros de data e hora do arquivo

Você deve saber disso Linux define carimbos de data / hora para cada arquivo para armazenar a hora de modificação, a hora de acesso e a hora de alteração associadas ao arquivo. Quando você transfere o arquivo para outro local usando scp, os carimbos de data / hora do arquivo de destino são substituídos pela hora atual.

Se por algum motivo você quiser preservar esses carimbos de data / hora, use o -p bandeira. Notar que -P e -p as bandeiras são diferentes umas das outras.

scp -p /home/document.txt user @ remote-host: /home/remote/document.txt

Copiar diretórios

Se você deseja copiar diretórios em vez de arquivos, use o -r sinalizador para transferir diretórios recursivamente.

scp -r user @ remote-host: / home / videos / home / videos

Modo Suprimido

Quando você insere o comando scp para transferir arquivos, o terminal exibe a barra de progresso e outras informações relacionadas na tela. No entanto, você pode optar por não visualizar essas informações usando o -q bandeira.

scp -q user @ remote-host: /home/document.txt /home/document.txt

Use um arquivo de par de chaves para autenticação

Se você deseja autenticar a conexão de host remoto usando um arquivo de par de chaves, especifique o caminho do arquivo usando o -eu bandeira.

scp -i /home/keypair.pem /home/document.txt user @ remote-host: /home/document.txt

Encadeando vários sinalizadores juntos

Assim como qualquer outro comando do Linux, você pode encadear vários argumentos para tornar o comando scp mais eficaz.

Por exemplo, para alterar a porta e transferir arquivos no modo suprimido:

scp -P 34 -q usuário @ host remoto: /home/document.txt home / document.txt

Se você deseja usar um arquivo de par de chaves para autenticação e precisa copiar diretórios para o caminho de destino:

scp -i /home/secret/keypair.pem -r / home / pasta usuário @ remote-host: / home / pasta

Transferência de arquivos entre sistemas Linux

No mundo da internet, a transferência de arquivos entre sistemas tornou-se uma tarefa essencial. Para quem está administrando servidores Linux, às vezes é importante fazer um backup do servidor antes de emitir um comando específico. Em situações como essa, o comando scp é útil.

Similarmente, o comando cp ajuda a copiar os arquivos de um local para outro em um sistema local. Existem muitos comandos básicos que são essenciais se você está apenas começando no Linux.

O email
A folha de referências de comandos do Linux

Esta folha de dicas simples o ajudará a se familiarizar com o terminal de linha de comando do Linux em nenhum momento.

Leia a seguir

Tópicos relacionados
  • Linux
  • Gerenciamento de arquivos
  • Linux
  • SSH
Sobre o autor
Deepesh Sharma (33 artigos publicados)

Deepesh é o Editor Júnior para Linux na MUO. Ele escreve conteúdo informativo na internet há mais de 3 anos. Em seu tempo livre, ele gosta de escrever, ouvir música e tocar seu violão.

Mais de Deepesh Sharma

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Mais um passo…!

Confirme seu endereço de e-mail no e-mail que acabamos de enviar.

.