Conexão sem Senha em Servidor SSH - Chaves SSH


Esta dica permite o login SSH sem senha, através de certificados de chaves SSH.
Isso é muito útil para scripts de BKP entre servidores, etc

O PROBLEMA:
Digamos que você que conectar o computador CLIENTE 192.168.0.100 ao computador SERVIDOR 192.168.0.1

Normalmente você usa o SSH do computador CLIENTE assim:
$ ssh usuario@192.168.0.1

Aí tem que digitar a senha toda vez...

Esta dica faz com que a senha não seja mais solicitada.


1 - No CLIENTE, digite um dos comandos abaixo:
$ ssh-keygen -b 1024 -t rsa
ou
$ ssh-keygen -b 1024 -t dsa

Caso seu servidor use SSH versão 1 terá que ser usado o algoritmo rsa, mas se for versão 2 poderá ser usado tanto rsa como dsa.

2- Apenas dê ENTER para as 3 perguntas:
Enter file in which to save the key...
Enter passphrase (empty for no passphrase)...

Enter same passphrase again...


3- Se recebeu a mensagem abaixo, tudo OK:
Your public key has been saved in...

3.1- O nome da chave é /home/usuario/.ssh/id_rsa.pub guarde para o próximo comando.

4- Envie a chave pública (.pub) do CLIENTE para o SERVIDOR (nunca a privada):

$ scp id_rsa.pub usuario@192.168.0.1:/home/usuario/.ssh/
id_rsa.pub

5- No SERVIDOR, basta autorizar a chave pública recebida do CLIENTE, copiando o seu conteúdo para o arquivo de chaves autorizadas. Use um dos comandos abaixo, de acordo com o tipo de chave gerada no passo 1:
PARA RSA:
$ cat id_rsa.pub >> /usuario/.ssh/authorized_keys

ou

PARA DSA:
$ cat id_rsa.pub >> /usuario/.ssh/authorized_keys
2

Pronto! Agora, toda vez que o computador CLIENTE conectar ao computador SERVIDOR, este não pede mais senha...

$ ssh usuario@192.168.0.1


Comentários

Postagens mais visitadas deste blog

EXTRAINDO ARQUIVOS NO FORMATO .exe

Free42 - O EMULADOR DA HP-42S NO LINUX

Vacuum no sqlite - melhorando a performance do Firefox