Como transferir arquivos e diretórios com segurança usando SCP
O SCP
, também conhecido como secure copy
, é um utilitário de linha de comando para transferir arquivos e diretórios do local para um sistema remoto e vice-versa. Ele também nos permite transferir arquivos e diretórios entre dois sistemas remotos. Os arquivos e senhas são criptografados durante a transferência, para que seja uma forma mais segura de transferência.
Comando SCP
Sintaxe
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
Bandeiras:
OPTION
: Representa opçõesscp
tais como cifra, configuração ssh, porta ssh, limite, cópia recursiva …etc[user@]SRC_HOST:]file1
: arquivo fonte ou diretório a ser copiado[user@]DEST_HOST:]file2
: caminho para o diretório onde o arquivo ou diretório de origem precisa ser copiado
A scp
oferece várias opções para controlar a transferência. Algumas das opções mais amplamente utilizadas são:
-P |
Especificar o porto ssh do hospedeiro remoto |
-p |
Preservar a modificação dos arquivos e os tempos de acesso. |
-q |
Suprimir o medidor de progresso e as mensagens de erro |
-C |
Comprimir dados durante a transferência |
-r |
Copiar arquivos recursivamente. |
Coisas a serem notadas enquanto se utiliza o comando scp
:
- Este comando utiliza a tecla
ssh
ou senha para autenticar sistemas remotos. - Reconhece sistemas remotos com
:
símbolo. - Devemos dar uma olhada nas permissões de leitura do arquivo ou diretório de origem e escrever permissões do arquivo ou diretório de destino.
scp
substitui arquivos sem aviso prévio. Portanto, devemos ser cuidadosos durante a transferência de arquivos que compartilham o mesmo nome e localização em ambos os sistemas.
Transferência de arquivos e diretórios utilizando o scp
Copiar um arquivo do sistema local para o sistema remoto
scp main.py remote_username@11.11.0.200:/Documents/directory
Este comando nos solicitará uma senha de usuário e a transferência começará assim que digitarmos a senha correta.
Resultado:
remote_username@11.11.0.200's password:
main.py 100% 0 0.0KB/s 00:00
Ele copia o arquivo main.py
em nosso sistema local para o servidor remoto com nome de usuário remote_username
e endereço IP 11.11.0.200
. O /Documents/directory
representa o diretório de destino no servidor remoto para o qual o arquivo precisa ser copiado. Se o diretório remoto não for especificado, o arquivo será copiado para o diretório home da máquina remota.
Se o SSH
no remoto estiver escutando outra porta além da porta padrão 22
, podemos especificar a porta utilizando a opção -P
.
scp -P 8080 main.py remote_username@11.11.0.200:/Documents/directory
Copiar um diretório do sistema local para o sistema remoto
Devemos utilizar o argumento -r
com o comando scp
para transferir diretórios que representam uma transferência recursiva de todos os arquivos dentro do diretório.
scp -r /Documents/myapp remote_username@11.11.0.200:/Documents/remote_app
Ele copia o diretório myapp
dentro do diretório Documents
na máquina local para o diretório remote_app
dentro do diretório Documents
da máquina remota.
Copia um arquivo do sistema remoto para o sistema local
Para copiar um arquivo de sistema remoto para o sistema local, usamos um local remoto como fonte e um local local como destino.
scp remote_username@11.11.0.200:/remote/main.py /Documents/local
Ele copia o arquivo main.py
do sistema remoto para nosso sistema local com o diretório de destino /Documentos/local
.
Copia o arquivo de um local remoto para outro local remoto
scp userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2
Ele copia o arquivo /host1/main.py
do host remoto com o endereço IP 11.11.0.200
para o diretório host2
no host com o endereço IP 11.11.0.205
.
Para rotear o tráfego através da máquina na qual o comando é emitido, adicionamos a opção -3
ao comando scp
.
scp -3 userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArtigo relacionado - Linux Files and Directories
- Como copiar arquivos e diretórios usando o terminal Linux
- Como excluir arquivos e diretórios no terminal Linux
- Como extrair arquivos Bzip2 usando o terminal
- Como fazer novos diretórios no Linux
- Como mover arquivos e diretórios no Linux usando o comando Mv
- Como Renomear Arquivos e Diretórios Usando Terminal Linux