Configurando OpenSSH no Windows Server 2003 para autenticação por chave (sem senha)

Neste artigo irei mostrar como configurar o OpenSSH no Windows Server 2003 para utilizar autenticação por chave ou "key authorization" possibilitando o acesso sem senha.

[ Hits: 51.718 ]

Por: Fernando Ribeiro em 12/09/2007 | Blog: http://www.vivaolinux.com.br/~fernandofat


Configurando o cliente e as chaves pública/privada



Criando o par de chaves:

Para realizar a conexão através das chaves pública/privada primeiro devemos gerá-las no cliente.

Para isto faça o download do PuTTY, Plink e Puttygen e coloque-os em uma pasta de sua preferência.

Para criar as chaves execute o "puttygen.exe" e clique em "Generate", após passar o mouse sobre a área em branco a seguinte janela irá aparecer:



O campo que está em destaque contém a chave pública que deverá ser copiada para o servidor e colada dentro de um arquivo chamado "authorized_keys". Este arquivo deve ser criado dentro do diretório "C:\OpenSSH\home\nomedousuario\.ssh" no servidor.

Agora salve a chave privada no cliente clicando em "Save private key", quando perguntando sobre a "passphrase" escolha "yes", de um nome ao seu arquivo por exemplo "id_rsa.ppk".

Configurando o cliente PuTTY e Plink

Para fazer a conexão SSH o Plink pode utilizar as informações de uma sessão previamente salva no PuTTY, é esta sessão que iremos criar.

Execute o PuTTY, coloque o endereço (IP ou nome) do servidor no campo "Host Name", selecione o protocolo "SSH", coloque um nome para a sessão (sem acento e sem espaços para facilitar) por exemplo "Servidor" e clique em "Save". Pronto, uma sessão chamada "Servidor" foi criada (Figura 1).


(Figura 1)


Selecione a sessão "Servidor" e clique em "Load", no menu da esquerda clique na opção "Data" e coloque o nome do usuário que será utilizado na conexão no campo "Auto-login username", por exemplo "root" (Figura 2).


(Figura 2)


Ainda no menu da esquerda, clique na opção "Auth" depois no botão "Browse" e localize e selecione o arquivo de chave privada que criamos anteriormente (Figura 3).


(Figura 3)


No menu da esquerda selecione a opção "Session", repare que estamos com a sessão "Servidor" ainda carregada, portanto as alterações realizadas anteriormente devem ser salvas nesta sessão, para isto clique em "Save".

Com a sessão "Servidor" selecionada, clique no botão "Open" para iniciar uma conexão, como (provavelmente) é a primeira conexão, o PuTTY irá perguntar se deseja registrar uma chave do servidor no cache do PuTTY (Figura 4), clique em "Sim", isto só acontece na primeira conexão.


(Figura 4)


Se tudo correu bem até aqui você terá conectado no servidor sem ter digitado nenhuma senha.

Para executar comandos remotamente utilize o Plink da seguinte forma:

plink Servidor "cmd /c dir"

Onde "Servidor" é o nome da sessão previamente configurada e "cmd /c dir" é o comando a ser executado no servidor.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Instalando o OpenSSH
   3. Configurando o cliente e as chaves pública/privada
Outros artigos deste autor

Conexões SSH sem senha fácil e descomplicado

Linux logando no Domínio NT

Leitura recomendada

Fazendo backup do seu MySQL com API do Dropbox

Como configurar o servidor de correio eletrônico Postfix

BigBashView, interface gráfica para o seu shell script

Terminal Didático - Shell Script via WEB (PHP + Bootstrap)

Automatizando a conexão com Internet via ADSL com PPPoE no OpenBSD

  
Comentários
[1] Comentário enviado por lord_roxton em 12/09/2007 - 11:03h

Artigo muito interessante!

[2] Comentário enviado por sombriks em 13/09/2007 - 03:03h

kra, silverBullet!

as máquinas da minha rede tão todas ganhando um sshd (pra desligar aqueles clientes xatos, hahahahahaha!!!)

[3] Comentário enviado por fernandofat em 13/09/2007 - 15:04h

SilverBullet foi ótimo! huahauhauahu

Mas falando sério...

Caso alguém encontre problemas ao subir o serviço como um usuário local ou de dominio, experimente fazer o seguinte:

- Desfaça os passos da seção "Trocando o usuário que inicia o serviço do OpenSSH" do artigo
- Depois dê permissão de escrita e leitura no diretório "C:\OpenSSH" e seus subdiretórios para o usuário que irá rodar o serviço do SSHD
- Agora refaça os passos da seção "Trocando o usuário que inicia o serviço do OpenSSH" do artigo

[]'s

Fernando

[4] Comentário enviado por cadmec em 09/02/2010 - 16:51h

Olá Fernando,

Fiz como descrito. Mas quando tento logar usando o Putty, o sistema retorna:
Server refused our Key
Alves@10.0.0.100's password:

E quando coloco a senha que está no servidor para o usuáro Alves, ele diz - Acess denied.

Poderia me ajuda ai,

Abraços e Obrigado.
Alves

[5] Comentário enviado por rafaelalmeida em 31/05/2010 - 16:00h

Opa, blz Fernando?

Aqui não funciona... copiei várias chaves públicas de outros servidores para o arquivo authorized_keys do meu servidor windows, e ao tentar logar de um destes servidores no mesmoele pede senha. A intensão aqui é fazer o backup dos servidores linux em um servidor windows, inicialmente pensamos em rsync, mais para isto precisamos de ssh rodando sem senha, pode me ajudar??


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts