Fundamentos da Transferência Segura de Arquivos

LinuxBeginner
Pratique Agora

Introdução

Este laboratório abordará os fundamentos do uso da linha de comando Linux para transferir arquivos usando SFTP, FTP e SCP. Essas ferramentas são comumente usadas para transferir arquivos de e para servidores remotos e podem ser úteis para tarefas como carregar arquivos de sites para um servidor ou baixar dados de uma máquina remota.

Configuramos um servidor SFTP e FTP no ambiente do laboratório. Quando você realmente for usar, certifique-se de ter as credenciais necessárias para acessar o servidor remoto (como um nome de usuário e senha) e que o servidor esteja configurado para permitir transferências de arquivos via SFTP, FTP e SCP.

Conquistas

  • sftp - Secure File Transfer Protocol (Protocolo Seguro de Transferência de Arquivos)
  • ftp - File Transfer Protocol (Protocolo de Transferência de Arquivos)
  • scp - Secure Copy (Cópia Segura)
Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 84%. Recebeu uma taxa de avaliações positivas de 85% dos estudantes.

Conectar a um Servidor Remoto com SFTP

SFTP (Secure File Transfer Protocol) é uma maneira segura de transferir arquivos entre uma máquina local e um servidor remoto.

Para conectar a um servidor remoto usando SFTP, você pode usar o comando sftp seguido pelo nome de usuário e o endereço IP ou nome de host do servidor. Por exemplo:

A senha para o sftpuser é 123456.

sftp sftpuser@127.0.0.1
## Type yes to accept the server's fingerprint

Você será solicitado a inserir a senha do usuário. Depois de inserir a senha correta, você estará conectado ao servidor remoto.

Transferir arquivos com SFTP

Depois de conectado ao servidor remoto, você pode transferir arquivos usando os comandos put e get.

Para carregar um arquivo da sua máquina local para o servidor remoto, use o comando put seguido pelo caminho para o arquivo local. Por exemplo:

put /home/labex/.zshrc

Para baixar um arquivo do servidor remoto para sua máquina local, use o comando get seguido pelo caminho para o arquivo remoto. Por exemplo:

get .zshrc

Quando terminar de transferir arquivos, você pode fechar a conexão SFTP usando o comando exit.

exit

Certifique-se de fechar a conexão SFTP antes de clicar no botão "Continuar".

Conectar a um Servidor Remoto com FTP

FTP (File Transfer Protocol) é um protocolo de rede padrão usado para transferir arquivos entre uma máquina local e um servidor remoto. É menos seguro que SFTP, pois transmite dados em texto simples.

Você pode verificar o status do serviço FTP executando o seguinte comando:

sudo service vsftpd status

Se o serviço FTP não estiver em execução, você pode iniciá-lo executando o seguinte comando:

sudo service vsftpd start

Para conectar a um servidor remoto usando FTP, você pode usar o comando ftp seguido pelo endereço IP ou nome de host do servidor. Por exemplo:

O nome de usuário para o ftp é ftpuser e a senha é 123456

ftp 127.0.0.1

Você será solicitado a inserir o nome de usuário e a senha do servidor. Depois de inserir as credenciais corretas, você estará conectado ao servidor remoto.

Transferir Arquivos com FTP

Depois de conectado ao servidor remoto, você pode transferir arquivos usando os comandos put e get.

Para carregar um arquivo da sua máquina local para o servidor remoto, use o comando put seguido pelo caminho para o arquivo local. Por exemplo:

## Carregar o arquivo .zshrc para o servidor e renomeá-lo para zshrc-upload
put /home/labex/.zshrc zshrc-upload

O arquivo será carregado para o diretório atual no servidor (/home/ftpuser).

Para baixar um arquivo do servidor remoto para sua máquina local, use o comando get seguido pelo caminho para o arquivo remoto. Por exemplo:

get zshrc-upload

O arquivo será baixado para o diretório atual na máquina local.

Veja mais sobre os comandos FTP executando o comando help no shell FTP.

Quando terminar de transferir arquivos, você pode fechar a conexão FTP usando o comando bye ou exit.

bye

Certifique-se de fechar a conexão FTP antes de clicar no botão "Continuar".

Copiar Arquivo para Servidor Remoto

SCP (Secure Copy) é um utilitário de linha de comando que permite transferir arquivos com segurança entre uma máquina local e um servidor remoto, ou entre dois servidores remotos. Ele usa SSH (Secure Shell) para criptografar os dados sendo transferidos, garantindo que os arquivos sejam transmitidos de forma segura.

A sintaxe básica para o comando scp é a seguinte:

scp [options] [source] [destination]

Os argumentos source e destination podem ser um arquivo ou diretório local, ou um arquivo ou diretório remoto no formato username@host:path.

Por exemplo, para copiar um arquivo file.txt da sua máquina local para um servidor remoto com o endereço IP 127.0.0.1, você usaria o seguinte comando:

Para obter a senha do usuário labex, digite printenv | grep PASSWORD no Terminal da Área de Trabalho.

Exemplo do comando SCP
cd ~/project

## Ver a senha do usuário labex
printenv | grep PASSWORD

## Copiar o arquivo para o servidor remoto
scp file.txt labex@127.0.0.1:/home/labex/file-scp.txt

## Digitar a senha do usuário labex

Baixar Arquivos do Servidor Remoto

Você também pode usar scp para baixar arquivos do servidor remoto.

Por exemplo, para baixar um arquivo file.txt de um servidor remoto com o endereço IP 127.0.0.1 para o local, você usaria o seguinte comando:

scp labex@127.0.0.1:/home/labex/file-scp.txt /home/labex/file-scp-new.txt

Você também pode definir o diretório local como o destino, certifique-se de incluir a barra final (/) no caminho.

Opções Avançadas do SCP

scp também possui várias opções avançadas que podem ser usadas para personalizar a transferência de arquivos. Algumas das opções mais comumente usadas incluem:

  • -r - Esta opção permite copiar recursivamente diretórios inteiros.
  • -C - Esta opção habilita a compressão durante a transferência de arquivos, o que pode ser útil ao transferir arquivos grandes por uma conexão lenta.
  • -P - Esta opção permite especificar um número de porta para a conexão.

Por exemplo, para copiar o diretório ~/Desktop da máquina local para um servidor remoto com o endereço IP 127.0.0.1 usando compressão e especificando um número de porta, você usaria o seguinte comando:

scp -r -C -P 22 ~/Desktop labex@127.0.0.1:/home/labex/Code/

Resumo

Este laboratório introduziu os comandos Linux SFTP, FTP e SCP, que são usados para transferir arquivos entre uma máquina local e um servidor remoto ou entre dois servidores remotos. SFTP é uma forma segura de transferir arquivos, enquanto FTP é um protocolo de rede padrão que é menos seguro que SFTP. SCP é um utilitário de linha de comando que permite transferir arquivos com segurança entre uma máquina local e um servidor remoto ou entre dois servidores remotos usando SSH (Secure Shell) para criptografar os dados que estão sendo transferidos. Ele também abordou algumas opções avançadas disponíveis com o comando SCP, que podem ser usadas para personalizar a transferência de arquivos, como as opções -r, -C e -P.