Como implementar operações SFTP no PowerShell?

Aprenda como transferir arquivos com segurança usando SFTP, suas diferenças em relação ao FTP e SCP, e como configurar um servidor SFTP no Windows. Descubra comandos do PowerShell para transferir arquivos grandes e explore os métodos de criptografia e autenticação do SFTP para garantir a segurança dos dados durante as transferências.

download-icon
Download Grátis
para VM, SO, BD, Arquivo, NAS, etc.
ana

Updated by Ana on 2025/07/11

Tabela de conteúdos
  • O que é o comando SFTP?

  • SFTP vs. FTP e SCP

  • Compreendendo a Criptografia SFTP

  • Como Funciona a Autenticação SFTP?

  • Como Configurar um Servidor SFTP no Windows?

  • Transferência de Arquivos Grandes com SFTP via PowerShell

  • Solução Profissional e Automática de Backup de MV

  • Perguntas Frequentes sobre SFTP do Powershell

  • Conclusão

O SFTP, ou Secure File Transfer Protocol, é uma ferramenta útil para transferir arquivos com segurança entre servidores locais e remotos. Diferentemente de seu predecessor FTP, o SFTP usa SSH, ou Secure Shell, para criptografar comandos e dados. Isso garante que informações sensíveis sejam protegidas durante a transmissão. Seja você usuário do Linux, Windows ou macOS, o SFTP oferece um método confiável para acessar, transferir e gerenciar arquivos em servidores remotos. Ele suporta diversas operações, desde carregar e baixar arquivos até criar e listar diretórios.

O que é o comando SFTP?

O comando SFTP é um conjunto de instruções usado para transferir arquivos com segurança ao se comunicar com um servidor remoto. Esses comandos fazem parte do Secure File Transfer Protocol, que está integrado ao conjunto de protocolos Secure Shell (SSH), oferecendo um canal criptografado para atividades de transferência de arquivos. Essa criptografia garante que tanto os dados transmitidos quanto os comandos utilizados na transferência fiquem protegidos contra acesso não autorizado ou interceptação.

Os comandos SFTP permitem aos usuários fazer upload, download e gerenciar arquivos em um servidor remoto de forma segura. Isso inclui criar e navegar por diretórios, listar arquivos e até mesmo modificar permissões de arquivos. Para desenvolvedores, administradores de sistemas e qualquer pessoa que precise garantir a confidencialidade e integridade dos dados transmitidos pela rede, os comandos SFTP são uma ferramenta essencial.

Ao utilizar comandos SFTP, organizações e indivíduos podem proteger informações sensíveis contra ameaças externas, tornando esse o método preferido para transferir arquivos com segurança entre diferentes sistemas operacionais e plataformas. Portanto, compreender e usar esses comandos de forma eficaz é fundamental para manter a segurança dos dados em trânsito.

SFTP vs. FTP e SCP

Transferir arquivos de forma segura e eficiente requer escolher o protocolo certo. Abaixo está uma análise comparativa de SFTP, FTP e SCP, destacando suas diferenças em termos de segurança e casos de uso.

CaracterísticaSFTP
FTP SCP
SegurançaAlta – Utiliza SSH para criptografar comandos e dados.Baixa – Transfere dados em texto simples, vulnerável a interceptações. Pode usar SSL/TLS para proteção FTPS.Alta – Utiliza SSH para transferência segura de dados, semelhante ao SFTP.
FuncionalidadeCompleto - Suporta upload/download de arquivos, navegação por diretórios, operações com arquivos, etc.Básico – Utilizado principalmente para upload e download de arquivos. Usa FTPS para funcionalidades estendidas.Limitado – Focada principalmente na cópia de arquivos.
Casos de UsoAdequado para gerenciamento e transferência de arquivos seguros e versáteis.Usado em cenários menos sensíveis ou com sistemas mais antigos. FTPS garante segurança.Adequado para tarefas simples e seguras de cópia de arquivos, sem recursos de gerenciamento de arquivos.

O SFTP fornece uma solução segura e versátil para transferência de arquivos, tornando-se a escolha preferida em ambientes onde segurança e funcionalidade são críticas. O FTP, embora amplamente utilizado, não possui segurança intrínseca, mas pode ser aprimorado por meio do FTPS com SSL/TLS. O SCP oferece cópia de arquivos simples e segura, porém carece das capacidades avançadas de gerenciamento de arquivos do SFTP.

Compreendendo a Criptografia SFTP

O SFTP criptografa os dados durante a transmissão, evitando acesso não autorizado ou escuta. Quando uma sessão SFTP é iniciada, o cliente e o servidor estabelecem uma conexão segura usando SSH. Essa conexão criptografa tanto os comandos quanto os dados que estão sendo transmitidos, garantindo que as informações sensíveis permaneçam confidenciais. A criptografia utiliza algoritmos avançados para proteger os dados contra interceptação e decodificação.

O SFTP garante a integridade dos dados por meio de funções hash de criptografia. Essas funções verificam os dados enviados e recebidos durante a transmissão para garantir que cada pacote de dados esteja completo e íntegro. Se os dados forem alterados durante a transmissão, o protocolo detecta a violação e pode interromper a transferência para evitar corrupção de dados.

Como Funciona a Autenticação SFTP?

A autenticação SFTP é um processo de duas etapas que garante que apenas usuários autorizados possam acessar o servidor. Primeiro, o servidor autentica o cliente por meio de um processo de troca de chaves para verificar com segurança a identidade do cliente. Depois disso, o cliente pode precisar fornecer um nome de usuário e senha ou usar uma chave privada para autenticação adicional. Essa autenticação em duas camadas reforça a segurança da conexão e impede o acesso não autorizado. 

Como Configurar um Servidor SFTP no Windows?

Para configurar um servidor SFTP no Windows, siga estas etapas:

1. Instalar o Servidor OpenSSH

Abra o Windows PowerShell ou o Prompt de Comando como administrador. Em seguida, use o seguinte comando para instalar o componente do servidor OpenSSH:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

2. Após a conclusão da instalação, utilize o seguinte comando para iniciar o serviço SSH:

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

3. Configure o Firewall

O SFTP utiliza o protocolo SSH. Para permitir que dispositivos externos acessem o servidor SFTP, você precisa abrir a porta adequada no servidor. Por padrão, o SFTP usa a porta 22. Você precisa abrir esta porta no firewall do Windows. Para configurá-la, siga estas etapas:

  • Abra o Windows Defender Firewall.

  • Clique em "Advanced settings."

  • No painel esquerdo, selecione "Inbound Rules".

  • À direita, clique em "New Rule".

  • Selecione "Port" e clique em "Next."

  • Escolha "TCP" e a porta local específica (22).

  • Permitir a conexão.

  • Selecione o tipo de rede aplicável (geralmente "Public").

  • Digite um nome de regra e clique em "Finish".

4. Criar um usuário SFTP

Para criar um utilizador no servidor SFTP, utilize a ferramenta de linha de comandos OpenSSH. Abra o prompt de comando e utilize o seguinte comando para criar um novo utilizador:

net user username password /add

Substitua "username" pelo nome de usuário desejado e "password" pela senha do usuário.

5. Configurar Permissões de Acesso SFTP

Para restringir as permissões de acesso do usuário SFTP, você pode configurar o arquivo sshd_config do OpenSSH. Este arquivo está localizado no diretório C:\ProgramData\ssh e pode ser editado com um editor de texto. Você pode configurar o acesso do usuário, por exemplo, restringindo-o a um diretório específico.

Após abrir o arquivo sshd_config, encontre estas duas linhas:

#Subsystem sftp /usr/lib/openssh/sftp-server
#Subsystem sftp internal-sftp

Remova os símbolos de comentário e modifique-os da seguinte forma:

Subsystem sftp C:\Windows\System32\OpenSSH\sftp-server.exe

Após salvar o arquivo, reinicie o serviço SSH:

Restart-Service sshd

6. Conecte-se ao Servidor SFTP

Em outro computador, você pode usar um cliente SFTP para se conectar ao servidor SFTP configurado. Existem muitos aplicativos clientes SFTP disponíveis, como FileZilla, WinSCP, etc. No cliente SFTP, insira o endereço IP do servidor, nome de usuário e senha, e especifique a porta 22 para SFTP se conectar ao servidor.

Transferência de Arquivos Grandes com SFTP via PowerShell

Ao transferir arquivos grandes no PowerShell, é essencial garantir que a taxa de transferência de dados e os mecanismos de tratamento de erros sejam efetivamente gerenciados durante a transferência. Para arquivos grandes, além do FTP, podemos usar os protocolos SFTP ou SMB. O PowerShell não oferece suporte nativo ao SFTP, mas pode realizar transferências de arquivos SFTP por meio de bibliotecas de terceiros, como PSSFTP ou WinSCP.

Aqui está um exemplo de utilização do WinSCP para carregar ficheiros através do PowerShell:

Transfira e instale o WinSCP. Utilize a ferramenta de linha de comando do WinSCP no PowerShell.

Exemplo (fazer upload de arquivo usando o WinSCP):

1. Definir sessão SFTP e caminho de upload do arquivo

$session = New-Object WinSCP.Session
$session.Open($sessionOptions)

2. Carregar arquivo

$session.PutFiles("C:\path\to\file.txt", "/remote/path/to/file.txt").Check()

3. Fechar sessão

$session.Dispose()

Configuração de SessionOptions do WinSCP:

$sessionOptions = New-Object WinSCP.SessionOptions
$sessionOptions.Protocol = [WinSCP.Protocol]::Sftp
$sessionOptions.HostName = "sftp.example.com"
$sessionOptions.UserName = "username"
$sessionOptions.Password = "password"

Solução Profissional e Automática de Backup de MV

Além de usar o PowerShell para tarefas SFTP, organizações que buscam soluções mais robustas, automatizadas e centralizadas de backup podem se beneficiar de ferramentas como o Vinchin Backup & Recovery. O Vinchin é um dos principais fornecedores de soluções de backup e recuperação de desastres, desenvolvido para oferecer suporte a uma ampla variedade de plataformas de virtualização, incluindo VMware, Hyper-V, Proxmox, XenServer e mais. Com recursos avançados, como deduplicação, compactação e agendamento flexível de backups, o Vinchin ajuda as empresas a garantir a segurança e disponibilidade dos seus dados críticos.

A solução da Vinchin também permite uma gestão eficiente de backup multiplataforma, oferecendo capacidades de backup local e em local remoto. Ela suporta diversos modos de backup, incluindo backup completo, incremental e diferencial, permitindo que as organizações otimizem o armazenamento e mantenham um RPO confiável. Com recursos como restauração granular, recuperação de desastres e migração rápida, a Vinchin capacita as empresas a responderem rapidamente a incidentes de perda de dados, garantindo tempo de inatividade mínimo.

O backup de máquinas virtuais com o Vinchin Backup & Recovery requer apenas 4 etapas:

1. Selecione o objeto de backup.

Backup de VMs com Vinchin

2. Selecione o destino do backup.

Backup de VMs com Vinchin

3. Configure estratégias de backup.

Backup de VMs com Vinchin

4. Revise e envie o trabalho.

Backup de VMs com Vinchin

Vinchin Backup & Recovery, confiado por milhares de empresas, oferece 60 dias de teste gratuito. Entre em contacto connosco para partilhar os seus requisitos de TI e receber uma solução personalizada agora.

Perguntas Frequentes sobre SFTP do Powershell

1. Qual é o melhor cliente SFTP para Windows?

Para Windows, os principais clientes SFTP incluem WinSCP (fácil de usar, scripts, automação), FileZilla (código aberto, confiável, suporte a FTP/SFTP), Cyberduck (integração com armazenamento em nuvem, edição de arquivos), entre outros. Cada cliente oferece recursos únicos dependendo das suas necessidades, desde transferências simples de arquivos até segurança avançada e gerenciamento de armazenamento em nuvem.

2. Qual é a diferença entre SFTP e FTP?

O SFTP é mais seguro que o FTP porque criptografa tanto os dados quanto os comandos, utilizando o SSH para comunicação segura através da porta 22. Em contraste, o FTP transfere dados em texto não criptografado, tornando-o vulnerável a interceptações. Além disso, o FTP usa a porta 21 para controle e várias portas para transferência de dados, enquanto o SFTP opera através de uma única conexão segura.

Conclusão

O PowerShell oferece funções poderosas para lidar com várias tarefas de transferência de dados, incluindo o uso de protocolos e ferramentas como HTTP, FTP, SFTP e serviços de armazenamento em nuvem. Você pode usá-lo para automatizar tarefas como transferência de arquivos, upload e download, tratamento de erros e transmissão criptografada. Em combinação com o Agendador de Tarefas do Windows, o PowerShell também pode executar tarefas de automação agendadas, melhorando significativamente a eficiência do trabalho.

Compartilhar em:

Categories: Tech Tips