SSH - Conexão sem senha

Neste artigo mostrarei como fazer conexão SSH sem utilização de senha, tanto no GNU/Linux como no Windows, agregando configurações que podem melhorar, e muito, a segurança em seu servidor SSH.

[ Hits: 26.068 ]

Por: Jeferson R. Costa em 01/03/2013 | Blog: http://www.jefersonrc.com.br/


No Windows



Agora vamos configurar o acesso SSH por chaves no Windows usando o nosso grande amigo PuTTY (cliente para conexões SSH e muito mais) e como na dica anterior, usaremos o usuário "joao_servidor" para teste.

Nesta dica utilizaremos duas ferramentas bem leves, o PuTTY (para fazer a conexão) e o PuTTYgen (para gerar as chaves).

O primeiro passo é gerar as nossas chaves usando o PuTTYgen. Quando executá-lo, será apresentado uma janela semelhante a esta:
Clique em "Generate" para iniciar a geração da chave e depois fique movimentando o mouse sobre o campo "Key", pois a criação da chave será baseada na posição dele:
Após gerar a chave, em "Key Comment" você pode adicionar um cometário, geralmente coloco o meu e-mail. E em "Key passfrase" você pode adicionar uma senha à sua chave, porém toda vez que for se conectar ao servidor será necessário digitar esta senha.

Para salvar a chave pública, você pode clicar em "Save public key", mas eu prefiro copiar o código gerado em "Public key for pasting into OpenSSH authorized_keys file" e colar em um novo documento de texto, assim, quando precisar da chave, basta copiar o código novamente.

Para salvar a chave privada, clique em "Save private key", escolha o local e o nome do arquivo e clique em "Salvar".

* Lembrando: Este arquivo deve ficar muito bem guardado para que ninguém tenha acesso, pois quem tiver acesso a este arquivo, poderá logar no servidor tranquilamente.
Obs.: Caso não tenha digitado nenhuma passphrase, você será questionado se realmente deseja salvar a chave sem nenhuma proteção, basta clicar em "Sim".

Pronto, agora que temos o par de chaves, vamos configurar o servidor.

Configurando o servidor

Acesse o servidor normalmente via SSH e já conectado, vamos verificar se o diretório ".ssh" (o " . " indica que é um diretório oculto) já existe, caso não, basta criá-la com o seguinte comando:

# mkdir /home/joao_servidor/.ssh

Agora vamos entrar no diretório:

# cd /home/joao_servidor/.ssh

E editar o aquivo "authorized_keys":

Obs.: Caso não exista, basta criar.

# pico authorized_keys

Certifique-se de que o arquivo está no diretório /home/joao_servidor/.ssh.

Devemos adicionar a chave que copiamos do PuTTYgen ao final do arquivo. Depois de adicionar, basta salvar e sair, agora você pode desconectar do servidor.

O último passo é editarmos o PuTTY para que o mesmo consiga trocar as chaves com o servidor, para isso, abra o PuTTY. Será exibido uma janela semelhante a essa:
No campo "Host Name", digite o nome do servidor ou o IP, e em "Port" digite a porta usada pelo SSH (padrão 22). Preencha o campo "Saved Sessions" com o nome que queira dar ao seu servidor e clique em "Save".

Note que abaixo de "Default Settings", ficou o seu servidor:
Depois em "Category", clique em "Data" e no campo "Auto-login username", digite o usuário que deseja utilizar para login:
Logo abaixo clique em "SSH", depois em "Auth". No campo "Private key file for authentication" clique em "Browse" e selecione a sua chave privada.
Volte ao menu "Session" e clique novamente em "Save" para salvar as configurações e depois clique em "Open".
Pronto, agora todas as vezes que quiser conectar-se ao servidor, basta abrir o PuTTY e clicar duas vezes sobre o nome do seu servidor que você conectará a ele sem ter que digitar senha.
Se tudo correr bem você logará no servidor sem ter que digitar a senha.

Página anterior     Próxima página

Páginas do artigo
   1. No GNU/Linux
   2. No Windows
   3. Concluindo
Outros artigos deste autor

Implementando Servidor NTP no Debian

Monitorando Rede com Zabbix no Debian 7

Leitura recomendada

Instalando Servidor ELASTIX (PABX-IP)

Tint2 - Split TaskBar com Dual Monitor

Conexão com chaves assimétricas sem uso de senha em servidor sshd

Debian como servidor DHCP no VirtualBox

Servidor de Mídia com 128 MB de RAM

  
Comentários
[1] Comentário enviado por obernan em 01/03/2013 - 11:44h

Parabéns pelo artigo. Testei aqui e deu certinho, muito bom !!!!

[2] Comentário enviado por joaorubens em 01/03/2013 - 12:36h

Li seu artigo e vi que você tem intimidade com ssh
tenho um poste aqui no fórum do viva o linux sobre uma dúvida minha e se você puder da uma olhada

http://www.vivaolinux.com.br/topico/vivaolinux/Como-enviar-email-via-SSH

valeu.

[3] Comentário enviado por noobv3rn em 02/03/2013 - 19:37h

Em minha opinião só de acessar os seus servidores através do Window$ já é o maior descuido de segurança possível aqui... (Deixando-nos vulneráveis aos keylogger's de usuários mal intensionados) já que o Linux nos dá a comodidade de rodar diretamente através de CD's e memórias flash... pendrives... etc...
complementando com uma dica... o processo de gerar e disponibilizar a chave pública pode ser reduzido do seguinte modo:

primeiro gera-se a chave com o ssh-keygen... deixando-a em branco como você citou...
depois utilizamos a ferramenta ssh-copy-id para copiar sua chave para o arquivo ~/.ssh/authorized_keys

$ ssh-copy-id -i ~/.ssh/id_rsa.pub joao_servidor@servidor

depois com o acesso liberado... é só agendar todas as tarefas de rotina sem necessidade de estar logado para isso...

[4] Comentário enviado por rcjeferson em 03/03/2013 - 10:05h

Como o nosso amigo noobv3rn citou, realmente só de usarmos o Window$ estamos vulneráveis, mas infelizmente muitos assim como eu não tem escolha pois há um padrão a seguir, e nesses casos, como citado no artigo, uma boa saída é desabilitar o acesso com senha aos servidores e acessa-los somente através das chaves, evitando ataques com Keylogger por exemplo. Mas a dica é muito boa, não conhecia essa ferramenta (ssh-copy-id). Obrigado!

[5] Comentário enviado por walisson123 em 19/04/2013 - 17:00h

Como muda a porta de entrada? para 2222

[6] Comentário enviado por rcjeferson em 19/04/2013 - 19:38h

Só alterar no arquivo /etc/ssh/sshd.conf o parametro port para 2222.

Qualquer coisa manda ai.

[7] Comentário enviado por walisson123 em 20/04/2013 - 09:00h

Mudei a porta mais ele ainda esta usando a porta 22 oque faço agora?

[8] Comentário enviado por rcjeferson em 20/04/2013 - 11:34h

Reiniciou o serviço do SSH?

[9] Comentário enviado por walisson123 em 20/04/2013 - 11:46h

Sim

[10] Comentário enviado por rcjeferson em 20/04/2013 - 14:09h

existem dois arquivos dentro de /etc/ssh o ssh_config e o sshd_config... O arquivo correto é o sshd_config... Verifique se alterou o arquivo correto.

[11] Comentário enviado por bolsoni em 18/11/2014 - 11:08h

Não esqueça de verificar se a porta 2222 está liberada no firewall também.

[12] Comentário enviado por Cassoll em 09/10/2017 - 12:32h

Vale lembrar que o comando ssh-copy-id <IP_da_maquina>, já envia o mesmo para o arquivo autorized_keys, sem precisar realizar o comando que foi mostrado para este passo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts