Acesso SSH seguro e sem senha
Dica publicada em Linux / Introdução
Acesso SSH seguro e sem senha
Breve descrição sobre como fazer acesso a servidores GNU/Linux sem precisar digitar a senha e de maneira segura.
Obs.: partimos do princípio que você já possui o serviço de SSH instalado nos hosts.
Vá até a máquina cliente e gere a chave SSH, com o seguinte comando:
ssh-keygen -t rsa
Ele deve retornar:
Será gerado dois arquivos, a chave da máquina e a chave pública, somente a chave pública que deve ser compartilhada com os servidores.
Dentro do diretório "/home/renato/.ssh", estarão os seguintes arquivos:
Copie sua chave pública para o servidor que será acessado:
scp /home/renato/.ssh/id_rsa.pub root@192.168.1.199:/tmp
Agora, precisamos adicionar o conteúdo da chave pública no arquivo de chaves autorizadas no servidor.
Obs.: se o arquivo não existir, você deve criá-lo. Você pode fazer estes passos com o seguinte comando:
# cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys
Pronto, agora teste o acesso sem senha:
ssh root@192.168.1.199
Obs.: partimos do princípio que você já possui o serviço de SSH instalado nos hosts.
Vá até a máquina cliente e gere a chave SSH, com o seguinte comando:
ssh-keygen -t rsa
Ele deve retornar:
Generating public/private rsa key pair. Enter file in which to save the key (/home/renato/.ssh/id_rsa): Created directory '/home/renato/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/renato/.ssh/id_rsa. Your public key has been saved in /home/renato/.ssh/id_rsa.pub. The key fingerprint is: 22:ec:bc:de:35:aa:a2:a0:fc:21:a2:95:e2:f9:80:02 renato@ubuntu The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | . | |E o . S | |o + . . | |*oo.o o | |Oo= .o o . | |+=o=+.o | +-----------------+Se você teclar Enter a todas as perguntas, você não está determinando uma senha para sua chave pública, como nosso objetivo é fazer o acesso sem senha, mantemos assim.
Será gerado dois arquivos, a chave da máquina e a chave pública, somente a chave pública que deve ser compartilhada com os servidores.
Dentro do diretório "/home/renato/.ssh", estarão os seguintes arquivos:
- id_rsa - chave privada.
- id_rsa.pub - chave pública.
Copie sua chave pública para o servidor que será acessado:
scp /home/renato/.ssh/id_rsa.pub root@192.168.1.199:/tmp
Agora, precisamos adicionar o conteúdo da chave pública no arquivo de chaves autorizadas no servidor.
Obs.: se o arquivo não existir, você deve criá-lo. Você pode fazer estes passos com o seguinte comando:
# cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys
Pronto, agora teste o acesso sem senha:
ssh root@192.168.1.199
Welcome to Ubuntu 12.04.2 LTS
(GNU/Linux 3.5.0-23-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Mon May 20 15:15:53 BRT 2013
System load: 0.21 Processes: 122
Usage of /: 8.1% of 13.38GB Users logged in: 1
Memory usage:54% IP address for eth0:192.168.1.199
Swap usage: 0%
Graph this data and manage this system at
https://landscape.canonical.com/
48 packages can be updated.
32 updates are security updates.
Espero ter ajudado.
Depois de todo o processo de criar a chave, copiá-la para o servidor e criar o authorized_keys, e se eu quiser logar como um usuário que não é root, como proceder?
ssh usuario_comum@192.168.1.199