Tempo aproximado para leitura: 00:15:00 min
Dúvida
Como posso criar um SFTP Server em um sistema operacional Windows?
Ambiente
CLOUD - IaaS - Todos ambientes - Máquinas Virtuais com sistema operacional Windows Server
Solução
Este artigo tem por objetivo efetuar a instrução de como realizar a instalação e configuração do OPENSSH em um servidor Windows Server para transferência de arquivos entre o Desktop do usuário e os diretórios do servidor.
Abaixo iremos discorrer sobre os softwares e protocolos utilizados neste artigo.
SFTP
O SFTP, ou SSH File Transfer Protocol, é um protocolo seguro de transferência de arquivos que permite transferências seguras de arquivos entre computadores através de uma conexão SSH (Secure Shell). Ao contrário do FTP (File Transfer Protocol) padrão, que transfere dados de forma não criptografada, o SFTP utiliza criptografia para proteger os dados durante a transferência.
OPENSSH
OpenSSH é uma suíte de software de código aberto que fornece conectividade de rede criptografada usando o protocolo SSH (Secure Shell). Ele oferece uma maneira segura de acessar e gerenciar computadores remotamente, permitindo a transferência segura de dados e a execução de comandos em máquinas remotas.
WinSCP
WinSCP é um cliente SFTP, FTP, SCP e FTPS gratuito para Windows. Ele oferece uma interface gráfica de usuário (GUI) intuitiva e fácil de usar, permitindo que os usuários transfiram arquivos de forma segura entre seu computador local e um servidor remoto.
PowerShell
O PowerShell é uma ferramenta de linha de comando e linguagem de script desenvolvida pela Microsoft, usada principalmente para automação e gerenciamento de sistemas em ambientes Windows. Ele oferece uma ampla gama de recursos, incluindo cmdlets, integração com o .NET e capacidade de execução remota, tornando-o uma escolha popular para administradores de sistemas e desenvolvedores.
Pré Requisitos
Para realizar a instalação e configuração do OpenSSH, seu ambiente IAAS é necessário conter.
- 1 Ambiente IAAS com uma Máquina Virtual Windows Server 2016 ou posterior
- 1 IP Público para comunicação externa
- Criação da Regra de NAT tipo DNAT
- Criação da Política de Segurança tipo ENTRADA
- Criação da Regra de NAT tipo SNAT (Opcional)
- Criação da Política de Segurança Tipo Saída (Opcional)
No sistema operacional é necessário atender os requisitos abaixo.
- PowerShell 5.1 ou posterior.
- Uma conta que é membro do grupo de administradores internos.
Para realizar a checagem dos pré requisitos em seu sistema operacional Windows, basta executar os passos abaixo
- Abra o executar e digite winver.exe e pressione Enter para ver os detalhes da versão do seu dispositivo Windows.
- Execute $PSVersionTable.PSVersion. Verifique se a versão principal é pelo menos 5 e a versão secundária pelo menos 1.
- Execute o comando abaixo. A saída exibirá True quando você for membro do grupo de administradores interno.
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
Com a verificação realizada, podemos seguir com o processo de instalação do OpenSSH.
Instalação
Para realizar a instalação do OpenSSH no Windows Server em seu ambiente IAAS, exemplificamos nos passos abaixo.
Acesse seu servidor Windows Server via T-Cloud remote ou Cliente RDP com suas credenciais que contenham privilégios administrativos.
Efetue o download do OpenSSH Server no link Download OpenSSH Server, caso seu servidor IAAS não tenha acesso a internet, se faz necessário a criação de um SNAT em conjunto com uma política de segurança (SAÍDA) ou pode utilizar o utilitário de transferência do T-Cloud Remote.
Execute o instalador “OpenSSH-Win64-v9.5.0.0” que foi baixado, observe que o instalador não irá comunicar que a instalação foi realizada com sucesso.
Após o término da instalação, execute os seguintes comandos em uma janela do PowerShell que deve ser aberta com privilégios administrativos.
Iniciar sshd (OpenSSH Sever)
Start-Service sshd
Configurar o sshd como serviço e inicialização automática. (Opcional)
Set-Service -Name sshd -StartupType 'Automatic'
Confirmar que a regra de firewall do Windows criada pelo instalador foi realizada com sucesso, se não realizar a criação automaticamente.
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
Após a execução dos passos acima, o servidor OpenSSH já estará sendo executado, para validar a sua execução, execute o comando abaixo.
Get-Service sshd
O retorno esperado caso o serviço esteja sendo executado com sucesso segue abaixo.
Status Name DisplayName
------ ---- -----------
Running sshd OpenSSH SSH Server
A configuração padrão do OpenSSH Server é suficiente para permitir a transferência de arquivos para o seu servidor IAAS usando SFTP. No entanto, se necessário, o arquivo de configuração do OpenSSH Server pode ser encontrado no seguinte diretório:
%programdata%\ssh\sshd_config
Este arquivo contém as configurações do servidor SSH, incluindo opções de segurança, portas de escuta, autenticação de usuários e muito mais. Se você precisar personalizar a configuração do servidor SSH para atender às suas necessidades específicas, pode editar este arquivo de configuração conforme necessário. Certifique-se de fazer backup do arquivo de configuração antes de fazer qualquer alteração.
Para publicar o serviço para internet e tornar seu servidor SFTP acessível, se faz necessário a criação da regra de DNAT e políticas de segurança, os manuais para realização destas atividades estão disponibilizados nos links abaixo.
Criação de Regra NAT TIPO ENTRADA (DNAT)
Criação de Política de segurança (ENTRADA)
Lembre-se que a porta padrão do SSH é a 22 TCP, esta informação é necessária para realizar a criação das regras de DNAT e Política de segurança (ENTRADA).
Em caso de dúvidas ou dificuldades não hesite em entrar em contato com nossa central de suporte.
Saiba mais:
Conectividade no ambiente IaaS
Acessando a VM IaaS através do T-Cloud Remote
Criar acesso externo RDP para VM com sistema operacional Windows
Criar acesso externo SSH para VM com sistema operacional Linux
Liberar o acesso de saída à internet da VM IaaS
Liberar o acesso externo da minha aplicação IaaS para a Internet
Liberar o acesso externo da minha aplicação IaaS para uma origem restrita
Liberar comunicação entre as VMs da mesma rede
Liberar comunicação entre as VMs de redes distintas
Adicionar IP Público ao ambiente IaaS
Criar regra de acesso externo de entrada DNAT
Criar regra de acesso interno de entrada (Política de Segurança)
0 Comentários