OpenSSH (SSH) Server no Windows
Prezados Colegas,
Primeiramente saudações pinguianas a todos.
Recentemente, participei de um projeto onde o objetivo era sincronizar arquivos entre dois servidores (duas filiais de uma empresa). Daí eu pensei: Um SSH + Rsync resolve a questão.
Levantei a ideia de escrever um script, agendar no Crontab, etc… Tarefas comuns para quem é do mundo Linux. Todos ficaram muito satisfeito com a solução sugerida.
Mas, na hora de colocarmos a mão na massa, tivemos uma desagradável surpresa: Um dos servidores tem como sistema operacional o Windows… E aí? O que fazer? Sugerir outra solução? Os responsáveis já tinham ficado felizes e contente com a solução combinada…
Resolvi dar uma pesquisada e descobri que é perfeitamente possível rodar o SSH Server também no Windows. Fiquei tão satisfeito com os resultados, que resolve escreve esse artigo ensinando como implantar um SSH Server em uma máquina Windows.
O QUE É NECESSÁRIO:
- Um computador com Windows;
- Conexão com a Internet nesse computador;
- Credencias com direitos de administrador nessa máquina;
- Ter instalado um programa de compactar/descompactar aquivos (sugiro o 7-Zip).
OBSERVAÇÃO: ESSA SOLUÇÃO FOI TESTADA NAS SEGUINTES VERSÕES DO WINDOWS:
- Windows 7 Pro 64bits;
- Windows 7 Pro 32 Bits;
- Windows Server 2008;
- Windows Server 2012;
- Windows Server 2016.
No Windows 10 e no Windows Server 2019, o SSH Server é nativo.
Clique aqui para ver os procedimentos para habilitar no Windows 10 ou aqui para os procedimentos para o Windows Server 2019.
Bom, dada todas a informações necessárias para começarmos, vamos agora colocar a mão na massa.
Mesmo tratando-se de um sistema Windows, aviso que a maioria dos procedimentos serão feitos por linha de comando, ou seja, vamos usar o CMD do Windows.
Vamos começar abrindo o console com permissões de Administrador, como na imagem abaixo:
Você deverá ver um aviso como esse demonstrado na imagem abaixo. Basta clicar em “sim”.
Agora, vamos baixar o pacote necessário (para sistemas de 32bits) com o seguinte comando:
bitsadmin /transfer OpenSSH /download /priority normal https://downloads.aprendendolinux.com/WinSSH/x86/OpenSSH.zip %SYSTEMDRIVE%\users\%USERNAME%\Desktop\OpenSSH.zip
Se o seu sistema for de 64bits, o comando para baixar é esse:
bitsadmin /transfer OpenSSH /download /priority normal https://downloads.aprendendolinux.com/WinSSH/x64/OpenSSH.zip %SYSTEMDRIVE%\users\%USERNAME%\Desktop\OpenSSH.zip
Obs.: Para não errar, eu sugiro que você copie e cole o comando no CMD, conforme demonstrado na imagem abaixo:
A saída desse comando, deve ser algo parecido com isso:
Esse comando baixou o pacote OpenSSH.zip para seu Desktop (Área de Trabalho). Agora, precisamos descompacta-lo. Como sugeri no início do artigo, vamos utilizar pra isso o 7-Zip, clicando com o botão direito em cima do pacote e usando a opção mostrada na imagem abaixo:
Agora vamos mover a pasta para dentro de “Program Files” (Arquivos de Programa). Faça o comando abaixo:
move /y "%SYSTEMDRIVE%\users\%USERNAME%\Desktop\OpenSSH" "%SYSTEMDRIVE%\Program Files\"
Agora, precisamos ajustas as permissões:
cacls "%SYSTEMDRIVE%\Program Files\OpenSSH" /e /p TODOS:f /t
Agora vamos finalmente instalar o programa. Rode o comando abaixo:
powershell.exe -ExecutionPolicy Bypass -File "%SYSTEMDRIVE%\Program Files\OpenSSH\install-sshd.ps1"
Se tudo deu certo, você verá uma tela parecida com essa da imagem abaixo:
Agora que o serviço foi devidamente instalado, vamos então configura-lo para subir junto com o Windows e inicia-lo. Para efetuar essa ação, vamos chamar o gerenciador de serviços com o comando abaixo:
services.msc
Agora, na janela que abriu, localize o serviço OpenSSH (SSH Server), clique com o botão direito do mouse e clique em propriedades.
Na nova janela que vai abrir, em “Tipo de inicialização, selecione “Automático, clique em “inicar”, depois clique em “aplicar” e em “ok”.
Agora, precisamos apenas liberar a porta do SSH no Firewall do Windows 7. Faça o comando abaixo:
netsh advfirewall firewall add rule name="SSH" dir=in action=allow protocol=TCP localport=22
Se for Windows 8 ou um posterior, o comando fica assim:
New-NetFirewallRule -Name sshd -DisplayName 'SSH' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Feito isso, você já deve conseguir conectar na máquina via SSH. Faça o teste via Putty de outra máquina.
Um detalhe importante é que, para fazer rsync de um servidor Linux para um servidor Windows, devemos entender como é que fica o caminho exato.
- C:\ = /cygdrive/c/
- D:\ = /cygdrive/d/
Então, se por exemplo eu quiser fazer o rsync da minha pasta HOME do linux, para a pasta “C:\Teste” no Windows, o comando ficaria assim:
rsync -avc --chmod=ugo=rwX /home/meuusuario usuario-do-windows@ip-do-windows:/cygdrive/c/Teste/
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes