Depois de fazer o download do
OpenSSH for Windows, execute o setup de instalação, durante a instalação modifique o diretório onde o OpenSSH será instalado para um diretório sem espaços, por exemplo "C:\OpenSSH", recomendo também a instalação apenas do componente "Server" do OpenSSH para servidores.
Configurando o OpenSSH
Criando contas para o OpenSSH:
O OpenSSH utiliza um arquivo de usuários "passwd" e um arquivo de grupos "group", estes arquivos devem conter contas/grupos locais da máquina ou de domínio, porém é necessário criá-los antes de iniciar o serviço. Apenas os usuários criados dentro do arquivo "passwd" poderão logar pelo SSH.
Nota: a conta e/ou grupo devem existir no Windows.
Para criar contas e grupos utilize a seguinte sintaxe:
Nota: O mkpasswd e mkgroup se encontram no caminho "C:\OpenSSH\bin"
mkpasswd -l [-u <nomedousuario>] >> ..\etc\passwd
(adiciona nomedousuario para o passwd - usuário local)
mkpasswd -d [-u <nomedousuario>] >> ..\etc\passwd
(adiciona nomedousuario para o passwd - usuário de domínio)
mkgroup -l >> ..\etc\group (grupos locais)
mkgroup -d >> ..\etc\group (grupos de domínio)
Exemplo prático:
mkpasswd -d -u root >> ..\etc\passwd
mkgroup -d >> ..\etc\group
Neste momento o serviço SSH já está operacional para aceitar conexões SSH, mas a autenticação por chaves ainda não irá funcionar, para tal teremos que fazer algumas configurações específicas.
Configurando o home do usuário
Os usuários que logarem pelo OpenSSH deverão ter um diretório home, por padrão este diretório fica em "C:\Documents and Settings". Você pode utilizar este diretório mesmo, não tem problema, mas eu particularmente prefiro criar uma estrutura separada para fins de organização, melhor controle e até segurança.
Para isso, dentro do diretório "C:\OpenSSH", crie um diretório chamado "home" (C:\OpenSSH\home), dentro deste novo diretório home crie diretórios com o nome dos usuários que irão se logar pelo OpenSSH.
Crie também um diretório chamado ".ssh" dentro do home do usuário que irá ser utilizado na autenticação por chaves, este diretório será utilizado mais para frente.
Agora altere o local padrão do home do usuário atualizando a seguinte chave de registro do Windows:
"[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home]"
Mude o valor da chave "native" de "C:\Documents and Settings" para "C:\OpenSSH\home".
Trocando o usuário que inicia o serviço do OpenSSH
Primeiramente é preciso colocar um usuário local ou de domínio e de preferência com direitos administrativos (apesar de não ser o mais seguro) para executar o serviço do OpenSSH ao invés da conta padrão do sistema. Isto é possível executando o "services.msc" e selecionando propriedades do serviço OpenSSH.
O usuário utilizado para executar o serviço do OpenSSH deve ser proprietário do arquivo "C:\OpenSSH\var\log\OpenSSHd.log". Este arquivo só existirá se o serviço foi iniciado corretamente ao menos uma vez independente da conta configurada para executá-lo.
Para configurar a conta proprietária do arquivo clique no arquivo mencionado acima com o botão direito e selecione "Segurança" depois "Avançado" e então "Proprietário", nesta aba inclua a conta que executará o OpenSSH como serviço ou selecione uma conta na lista, caso seja uma delas que executará o OpenSSH como serviço.