SFTP e SCP: transferência segura de arquivos
Compare SFTP e SCP com o FTP inseguro e entenda as proteções criptográficas que eles oferecem.
SFTP e SCP: transferência segura de arquivos é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.
SFTP é um subsistema do SSH, não do FTP
Apesar do nome, SFTP (Protocolo de transferência de arquivos do SSH) não tem nenhuma relação com FTP. É um protocolo binário projetado para ser executado como um subsistema do SSH-2, o que significa que opera sobre uma conexão SSH existente, autenticada e criptografada. O cliente SSH invoca o subsistema SFTP no servidor com o comando ssh user@host -s sftp. Todas as operações do SFTP herdam as garantias de segurança do transporte SSH subjacente.
Recursos do SFTP
O SFTP oferece um conjunto abrangente de operações de arquivos pelo canal criptografado: listar o conteúdo de diretórios, enviar arquivos, baixar arquivos, excluir e renomear arquivos, criar e remover diretórios, ler e definir permissões e marcas de data e hora de arquivos e retomar transferências interrompidas. Esses recursos tornam o SFTP uma interface completa de sistema de arquivos remoto, não apenas uma ferramenta de transferência de arquivos.
SCP: cópia simples de arquivos sobre SSH
O SCP (Protocolo de cópia segura) é um protocolo mais antigo e simples para transferir arquivos sobre SSH. O comando scp file.txt user@host:/path copia um arquivo com segurança. O SCP é mais simples de usar que o SFTP para transferências pontuais, mas oferece suporte apenas a um subconjunto de operações: copiar do local para o remoto, do remoto para o local ou do remoto para o remoto. Ele não tem modo interativo e oferece suporte limitado à retomada de transferências interrompidas.
Vulnerabilidades do protocolo SCP
O protocolo SCP original tinha uma vulnerabilidade significativa: um servidor malicioso podia enviar arquivos arbitrários ao cliente, independentemente do que ele tivesse solicitado. Um invasor que controlasse o servidor poderia sobrescrever arquivos fora do diretório de destino pretendido. O OpenSSH tornou obsoleto o protocolo SCP legado em favor do scp baseado em SFTP no OpenSSH 9.0 (2022). Os comandos scp modernos usam SFTP internamente, eliminando essa classe de ataque e preservando a sintaxe de comando familiar.
FTP versus FTPS versus SFTP
Três opções seguras de transferência de arquivos costumam ser confundidas. O FTP (porta 21) não é criptografado e não deve ser usado. O FTPS (FTP sobre SSL) adiciona TLS ao FTP na porta 990 (implícita) ou na porta 21 (explícita com AUTH TLS), exigindo a infraestrutura do FTP e o gerenciamento de certificados. O SFTP é um protocolo totalmente separado que opera sobre SSH (porta 22), reutilizando a autenticação e o gerenciamento de chaves existentes do SSH. Em geral, o SFTP é mais simples de configurar e manter do que o FTPS.
rsync sobre SSH para sincronização eficiente
O rsync é uma ferramenta de sincronização de arquivos que transfere apenas as partes alteradas dos arquivos, tornando-o muito mais eficiente que o SCP para backups incrementais. Executar o rsync com a opção -e ssh encaminha todos os dados por um túnel SSH. O comando rsync -avz -e ssh user@host:/remote/ /local/ sincroniza um diretório remoto com um diretório local, transferindo apenas as diferenças. O rsync sobre SSH é a abordagem padrão para backups de servidores e fluxos de implantação.
Transferência de arquivos grandes
O SFTP permite transferências retomáveis: se uma conexão cair durante o envio de um arquivo grande, a transferência poderá ser retomada a partir do último byte confirmado, em vez de ser reiniciada do zero. O cliente sftp do OpenSSH oferece suporte ao comando reput para retomar envios e ao reget para retomar recebimentos. Para transferências muito grandes (arquivos de vários gigabytes), ferramentas como o lftp oferecem um gerenciamento de transferências mais robusto, com novas tentativas automáticas e limitação de largura de banda.
Ambientes chroot do SFTP para acesso restrito
O servidor OpenSSH pode restringir usuários do SFTP a uma árvore de diretórios específica usando um ambiente chroot. Adicionar a diretiva Match User com ChrootDirectory e ForceCommand internal-sftp à configuração do SSH cria um ambiente SFTP isolado. O usuário pode enviar e receber arquivos dentro do diretório designado, mas não pode acessar o restante do sistema de arquivos nem executar comandos de terminal. Essa configuração é amplamente usada para gerenciamento de arquivos em hospedagens de sites e portais de envio de arquivos por clientes.
Configurando um servidor SFTP
Ativar o SFTP em um servidor OpenSSH requer adicionar Subsystem sftp /usr/lib/openssh/sftp-server ao sshd_config. O binário sftp-server lida com todas as operações do protocolo SFTP. Em configurações chroot, o ChrootDirectory deve pertencer ao root e não pode ser gravável por nenhum outro usuário, uma fonte comum de erros de configuração. Testar a configuração com sshd -t verifica a sintaxe antes de recarregar o serviço.
SFTP para fluxos de backup automatizados
O SFTP integra-se bem a fluxos de backup automatizados. Um servidor de backup usa autenticação por chave pública para conectar-se sem senhas, permitindo transferências agendadas pelo cron sem intervenção humana. O usuário de backup é restringido pelo chroot ao diretório de envio, limitando os danos caso o servidor de backup seja comprometido. O monitoramento dos registros de falhas de conexão do SFTP e de erros de transferência fornece um alerta antecipado sobre problemas de backup antes que afetem a capacidade de recuperação.
Ferramentas de cliente SFTP
Além do cliente sftp de linha de comando, ferramentas gráficas como FileZilla, Cyberduck e WinSCP oferecem suporte a SFTP com interfaces de arrastar e soltar, gerenciamento de favoritos e visualizações lado a lado de diretórios. Essas ferramentas são populares entre desenvolvedores e administradores que preferem fluxos de trabalho com GUI. Todas usam o mesmo protocolo SFTP subjacente e a autenticação SSH, incluindo suporte a arquivos de chave SSH e ao agente SSH do sistema.
SFTP versus SCP
Qual foi a principal vulnerabilidade de segurança no antigo protocolo SCP que levou o OpenSSH a substituí-lo por uma implementação baseada em SFTP?
SFTP e SCP: principais conclusões
SFTP é um subsistema do SSH e não tem relação com FTP. Ele fornece operações completas no sistema de arquivos remoto por meio do SSH criptografado. SCP é mais simples, mas o protocolo antigo tinha uma vulnerabilidade de travessia de caminhos no lado do servidor, corrigida no OpenSSH 9.0 ao substituí-lo internamente por SFTP. FTPS adiciona TLS ao FTP, enquanto SFTP é inteiramente baseado em SSH. O rsync por meio de SSH fornece sincronização incremental eficiente. Jaulas chroot restringem os usuários de SFTP a diretórios designados.
Perguntas Frequentes
A aula “SFTP e SCP: transferência segura de arquivos” é grátis?
Sim — o texto completo de “SFTP e SCP: transferência segura de arquivos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.
O que vou aprender em “SFTP e SCP: transferência segura de arquivos”?
Compare SFTP e SCP com o FTP inseguro e entenda as proteções criptográficas que eles oferecem. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cryptology Academy?
Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “SFTP e SCP: transferência segura de arquivos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cryptology Academy?
Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O que torna um protocolo seguro
- SSH: protegendo o acesso remoto
- SFTP e SCP: transferência segura de arquivos
- DNSSEC: autenticando respostas DNS