utilizando o scp para copiar arquivos com segurança no Linux

SCP (cópia segura) é um utilitário de linha de comando que permite copiar arquivos e diretórios com segurança entre dois locais.

Com o scp, você pode copiar um arquivo ou diretório:

  • Do seu sistema local para um sistema remoto.
  • De um sistema remoto para o seu sistema local.
  • Entre dois sistemas remotos do seu sistema local.

Ao transferir dados com o scp, os arquivos e a senha são criptografados para que qualquer pessoa que bisbilhote o tráfego não consiga nada sensível.

Neste pequeno tutorial, vamos aprender como utilizar o comando scp por meio de exemplos práticos e explicações detalhadas das opções mais comuns do scp.

Sintaxe do Comando SCP

Antes de entrar em como usar o scp comando, vamos começar revisando a sintaxe básica.
As expressões do utilitário scp usam o seguinte formato:

scp [OPTION] [[email protected]]SRC_HOST:]file1 [[email protected]]DEST_HOST:]file2

OPTION- Opções scp , como cifra, configuração ssh, porta ssh, limite, cópia recursiva ..etc
[[email protected]]SRC_HOST:]file1 - Arquivo fonte.
[[email protected]]DEST_HOST:]file2 - Arquivo de destino

Os arquivos locais devem ser especificados usando um caminho absoluto ou relativo, enquanto nomes de arquivos remotos devem incluir uma especificação de usuário e host.

O scp fornece várias opções que controlam todos os aspectos de seu comportamento. As opções mais utilizadas são:

  • -P Especifica a porta ssh do host remoto.
  • -p Preserva a modificação de arquivos e tempos de acesso.
  • -q Use essa opção se você quiser suprimir o medidor de progresso e as mensagens que não são de erro.
  • -C. Essa opção forçará o scp a compactar os dados à medida que forem enviados para a máquina de destino.
  • -r Esta opção irá dizer ao scp para recursivamente copiar diretórios.

Antes de você começar

O scp comando depende do ssh transferência de dados, por isso requer uma chave ssh ou senha para autenticar nos sistemas remotos.

Para poder copiar arquivos, você deve ter pelo menos permissões de leitura no arquivo de origem e permissão de gravação no sistema de destino.

Tenha cuidado ao copiar arquivos que compartilham o mesmo nome e local em ambos os sistemas, o scp sobrescreverá arquivos sem aviso prévio.

Ao transferir arquivos grandes, é recomendado executar o comando scp dentro de uma tela ou sessão tmux .

Copiar arquivos e diretórios entre dois sistemas com o SCP

Copiar um arquivo local para um sistema remoto com o comando scp

Para copiar um arquivo de um local para um sistema remoto, execute o seguinte comando:

scp file.txt [email protected]:/remote/directory

Aqui, file.txt é o nome do arquivo que queremos copiar, remote_username é o usuário no servidor remoto, 10.10.0.2 é o endereço IP do servidor. O /remote/directory é o caminho para o diretório que você deseja copiar o arquivo para, se você não especificar um diretório remoto, o arquivo será copiado para o diretório home do usuário remoto.

Você será solicitado a digitar a senha do usuário e o processo de transferência será iniciado.

[email protected]'s password:
file.txt                             100%    0     0.0KB/s   00:00

Omitir o nome do arquivo do local de destino copia o arquivo com o nome original. Se você quiser salvar o arquivo com um nome diferente, precisará especificar um novo nome:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Se o SSH no host remoto estiver escutando em uma porta diferente do padrão 22, você poderá especificar a porta usando o -P argumento:

scp -P 2322 file.txt [email protected]:/remote/directory

O comando para copiar um diretório é como quando copia arquivos. A única diferença é que você precisa usar o -r sinalizador para recursivo.

Para copiar um diretório de um sistema local para um remoto, use a -r:

scp -r /local/directory [email protected]:/remote/directory

Copiar um arquivo remoto para um sistema local usando o comando scp

Para copiar um arquivo de um remoto para um sistema local, use o local remoto como origem e local como destino.

Por exemplo, para copiar um arquivo chamado file.txtde um servidor remoto com ip, 10.10.0.2 execute o seguinte comando:

scp [email protected]:/remote/file.txt /local/directory

Se você não tiver definido um login SSH sem senha para a máquina remota, será solicitado que você digite a senha do usuário.

Copie um arquivo entre dois sistemas remotos usando o comando scp

Ao contrário do rsync , ao usar scp você não precisa efetuar login em um dos servidores para transferir arquivos de um para outro computador remoto.

O comando a seguir copiará o arquivo /files/file.txt do host remoto host1.com para o diretório /files no host remoto host2.com.

scp [email protected]:/files/file.txt [email protected]:/files

Você será solicitado a digitar as senhas das duas contas remotas. Os dados serão transferidos diretamente de um host remoto para o outro.

Para rotear o tráfego através da máquina na qual o comando é emitido, use a -3:

scp -3 [email protected]:/files/file.txt [email protected]:/files

Neste artigo, você aprendeu a usar o comando scp para copiar arquivos e diretórios.

Você também pode querer configurar uma autenticação baseada em chave SSH e conectar-se a seus servidores Linux sem digitar uma senha.

Se você estiver se conectando regularmente aos mesmos sistemas, poderá simplificar seu fluxo de trabalho definindo todas as suas conexões no arquivo de configuração SSH .

Deixe uma resposta
You May Also Like