SSH - Usando scp para transferência de arquivos entre hosts Linux
Índice:
- Sintaxe de comando do SCP
- Antes de você começar
- Copiar arquivos e diretórios entre dois sistemas com
scp
- Copiar um arquivo local para um sistema remoto com o comando
scp
- Copiar um arquivo remoto para um sistema local usando o comando
scp
- Copiar um arquivo entre dois sistemas remotos usando o comando
scp
- Conclusão
O SCP (cópia segura) é um utilitário de linha de comando que permite copiar com segurança arquivos e diretórios entre dois locais.
Com o
scp
, você pode copiar um arquivo ou diretório:
- Do sistema local ao sistema remoto.De um sistema remoto ao sistema local.Entre dois sistemas remotos do sistema local.
Ao transferir dados com
scp
, os arquivos e a senha são criptografados, para que qualquer pessoa que bisbilhote o tráfego não receba nada sensível.
Neste tutorial, mostraremos como usar o comando
scp
através de exemplos práticos e explicações detalhadas das opções mais comuns do scp.
Sintaxe de comando do SCP
Antes de começar a usar o comando
scp
, vamos começar revendo a sintaxe básica.
A sintaxe do comando
scp
assume o seguinte formato:
scp SRC_HOST:]file1 DEST_HOST:]file2
-
OPTION
- opções scp como cipher, configuração ssh, porta ssh, limite, cópia recursiva… etc.SRC_HOST:]file1
- arquivo de origem.DEST_HOST:]file2
- arquivo de destino
Os arquivos locais devem ser especificados usando um caminho absoluto ou relativo, enquanto os nomes de arquivos remotos devem incluir uma especificação de usuário e host.
scp
fornece várias opções que controlam todos os aspectos de seu comportamento. As opções mais usadas são:
-
-P
Especifica a porta ssh do host remoto.-p
Preserva a modificação dos arquivos e os tempos de acesso.-q
Use esta opção se desejar suprimir o medidor de progresso e as mensagens de erro.-C
. Esta opção forçará oscp
a compactar os dados conforme eles são enviados para a máquina de destino.-r
Esta opção diz aoscp
para copiar diretórios recursivamente.
Antes de você começar
O comando
scp
depende do
ssh
para transferência de dados, portanto, requer uma chave ou senha ssh para autenticar nos sistemas remotos.
Dois pontos (
scp
é como o
scp
distingue entre locais locais e 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 nos dois sistemas, o
scp
substituirá os arquivos sem aviso.
Ao transferir arquivos grandes, é recomendável executar o comando
scp
dentro de uma tela ou sessão do tmux.
Copiar arquivos e diretórios entre dois sistemas com
scp
Copiar um arquivo local para um sistema remoto com o comando
scp
Para copiar um arquivo de um sistema local para um sistema remoto, execute o seguinte comando:
scp file.txt [email protected]:/remote/directory
Onde
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 para o qual você deseja copiar o arquivo. Se você não especificar um diretório remoto, o arquivo será copiado para o diretório inicial 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ê deseja salvar o arquivo com um nome diferente, é necessário especificar o novo nome do arquivo:
scp file.txt [email protected]:/remote/directory/newfilename.txt
Se o SSH no host remoto estiver escutando em uma porta diferente da 22 padrão, você poderá especificar a porta usando o argumento
-P
:
scp -P 2322 file.txt [email protected]:/remote/directory
O comando para copiar um diretório é muito parecido com o de copiar arquivos. A única diferença é que você precisa usar o sinalizador
-r
para recursivo.
Para copiar um diretório de um sistema local para remoto, use a opção
-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 sistema remoto para um sistema local, use o local remoto como fonte e o local como destino.
Por exemplo, para copiar um arquivo chamado
file.txt
de um servidor remoto com IP
10.10.0.2
execute o seguinte comando:
scp [email protected]:/remote/file.txt /local/directory
Copiar um arquivo entre dois sistemas remotos usando o comando
scp
Ao contrário do
rsync
, ao usar o
scp
você não precisa fazer login em um dos servidores para transferir arquivos de uma máquina remota para outra.
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 outro.
Para rotear o tráfego através da máquina na qual o comando foi emitido, use a opção
-3
:
scp -3 [email protected]:/files/file.txt [email protected]:/files
Conclusão
Neste tutorial, você aprendeu como usar o comando
scp
para copiar arquivos e diretórios.
Você também pode configurar uma autenticação baseada em chave SSH e conectar-se aos servidores Linux sem inserir uma senha.
terminal scpComo usar o aplicativo xiaomi shareme para transferir arquivos e dados no android

Olhando para compartilhar arquivos entre dois telefones Android? Dê uma olhada neste artigo para descobrir como usar o aplicativo ShareMe (MI Drop) do Xiaomi para transferir arquivos no Android.
Como usar o comando linux ftp para transferir arquivos

FTP (File Transfer Protocol) é um protocolo de rede padrão usado para transferir arquivos de e para uma rede remota. Neste tutorial, mostraremos como usar o comando linux ftp através de exemplos práticos.
Como usar o comando linux sftp para transferir arquivos

O SFTP (SSH File Transfer Protocol) é um protocolo de arquivo seguro usado para acessar, gerenciar e transferir arquivos através de um transporte SSH criptografado. Neste tutorial, mostraremos como usar o comando Linux `sftp`.