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.
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:
- Um host local e um host remoto
- Um host remoto e um sistema local
- 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.
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
- Linux
- Gerenciamento de arquivos
- Linux
- SSH
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.
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.