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.085 ]

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

Assistindo TV usando a placa VideoHighway Xtreme (ou outra baseada no bttv)

Apache Mod_Proxy como Front-End de acesso e balanceamento de diversas aplicações web

Configuração do ProFTPd

Instalando e configurando o Java JDK no Slackware Linux

Utilizando o PcManFm

  
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