Referência de comandos SFTP

Todos os comandos do cliente sftp do OpenSSH, com sintaxe e exemplos – conectar, navegar, transferir, permissões e automação em lote. Funciona igual no Windows 10/11, no macOS e no Linux, que trazem todos o cliente OpenSSH.

Atualizado em julho de 2026

Conectando a um servidor

O SFTP roda sobre SSH (porta 22, por padrão), então a autenticação e a verificação da chave do servidor funcionam exatamente como no ssh. Estas opções vão na linha de comando antes de a sessão começar:

Comando / opçãoO que ele fazExemplo
sftp user@hostInicia uma sessão SFTP interativa.sftp alice@example.com
-P portConecta a uma porta fora do padrão (atenção: P maiúsculo, diferente do ssh).sftp -P 2222 alice@example.com
-i keyfileAutentica com uma chave privada SSH específica.sftp -i ~/.ssh/deploy_key alice@example.com
-b fileModo de lote – roda comandos de um arquivo, sem interação.sftp -b upload.txt alice@example.com
-rTorna get/put recursivos para a sessão inteira.sftp -r alice@example.com
sftp user@host:pathBusca um arquivo direto e sai (sem sessão interativa).sftp alice@example.com:/logs/app.log

Se a conexão for recusada ou travar, confira antes o servidor com o testador de conexão SFTP, e veja quais métodos de autenticação ele aceita com o verificador de métodos de autenticação SFTP.

Baixando e enviando

ComandoO que ele fazExemplo
getBaixa um arquivo do servidor.get report.pdf
get -rBaixa um diretório e tudo o que há nele.get -r backups
putEnvia um arquivo local para o servidor.put site.zip
put -rEnvia um diretório de forma recursiva.put -r dist
mgetBaixa vários arquivos que casam com um padrão.mget *.log
mputEnvia vários arquivos que casam com um padrão.mput *.html
regetRetoma um arquivo baixado pela metade.reget big-backup.tar
reputRetoma um arquivo enviado pela metade.reput big-backup.tar
progressLiga e desliga o medidor de progresso da transferência.progress

Não existe alternância ascii/binary – o SFTP sempre transfere os arquivos byte a byte, então nada é corrompido por conversão de fim de linha.

Modo de lote e automação

Para transferências sem supervisão, coloque os comandos em um arquivo (um por linha) e rode o sftp em modo de lote. O modo de lote aborta no primeiro erro e exige autenticação por chave – ele não consegue pedir uma senha:

# upload.txt
cd /var/www/site
lcd C:\Projects\site\dist
put -r .
bye
C:\> sftp -b upload.txt -i C:\keys\deploy_key deploy@example.com

Isso funciona, mas cada tarefa recorrente significa manter um script, uma chave e uma entrada no Agendador de Tarefas. Se você prefere definir "enviar esta pasta toda noite às 2:00" em uma interface – com novas tentativas, avisos e histórico – é isso que as transferências agendadas do FTPie fazem.

Sobre os comandos de SFTP

O SFTP (SSH File Transfer Protocol) não é FTP sobre SSH – é um protocolo separado, construído sobre a camada de conexão do SSH e definido na série draft-ietf-secsh-filexfer da IETF. O comando sftp no Windows, no macOS e no Linux é a implementação de cliente do OpenSSH, e o conjunto de comandos dele é o que esta página documenta. Como tudo roda dentro do SSH, uma única porta aberta (a 22) carrega autenticação, comandos e dados criptografados – sem faixas de portas de modo passivo nem certificados TLS para configurar.

Vindo do FTP clássico? Os conjuntos de comandos se sobrepõem, mas diferem em pontos importantes – veja a referência de comandos FTP para os comandos do ftp.exe e do protocolo da RFC 959.

Perguntas frequentes

Os comandos do SFTP são iguais aos do FTP?

Não. O SFTP é um protocolo diferente, que roda sobre SSH, e o conjunto de comandos é parecido, mas não idêntico. Comandos principais como get, put, cd, ls e bye funcionam nos dois, mas o SFTP acrescenta comandos no estilo Unix, como chmod, ln e df, usa reget/reput para retomar transferências e não tem modo ascii nem binary – toda transferência é binária. Comandos como mdelete, hash ou literal, dos clientes FTP clássicos, não existem no sftp.

Como eu baixo ou envio uma pasta inteira por SFTP?

Use a opção -r (recursiva): get -r pastadoprojeto baixa uma árvore de diretórios inteira, e put -r pastadoprojeto envia uma. O diretório de destino não pode já conter arquivos conflitantes. Você também pode iniciar a sessão com sftp -r usuario@servidor para que as transferências já sejam recursivas por padrão.

Como eu retomo uma transferência SFTP interrompida?

Use reget arquivo para retomar um download parcial e reput arquivo para retomar um envio. O arquivo parcial precisa continuar no lugar; o cliente compara os tamanhos e continua de onde parou.

O Windows tem um comando sftp embutido?

Tem. O Windows 10 (a partir da versão 1809) e o Windows 11 trazem o cliente OpenSSH, então você pode rodar sftp usuario@servidor direto do Prompt de Comando ou do PowerShell, sem instalar nada.

Como eu automatizo transferências SFTP?

Coloque um comando por linha em um arquivo de texto e rode sftp -b lote.txt usuario@servidor. O modo de lote exige autenticação não interativa, o que na prática significa configurar antes a autenticação por chave SSH. Para tarefas recorrentes – envios agendados, backups, sincronizações – um cliente com agendador embutido poupa você de manter scripts e entradas no Agendador de Tarefas.

Prefere um cliente SFTP visual?

O FTPie é um cliente SFTP moderno para Windows, com autenticação por chave SSH, verificação da chave do servidor, transferências recursivas por arrastar e soltar e um agendador embutido – gratuito para até 3 conexões com servidores.

Download FTPie Free