Dica rápida sobre fazer uma conexão ssh sem senha.
Nesse cenário há dois “PCs”:
O primeiro, um cliente que vai ser conectar ao servidor via SSH.
O segundo, é o servidor que vai receber a conexão ssh do cliente.
Ex: Seu Debian 8 (PC01) vai se conectar ao servidor CentOs7 (PC02) utilizando SSH.
Serão utilizadas duas chaves: uma pública e uma privada.
Essas chaves serão geradas no CLIENTE (Debian8 PC01 no nosso exemplo)!
Observação importante: A CHAVE PRIVADA NUNCA DEVE SER COMPARTILHADA! A Chave pública, como o nome diz, pode ser compartilhada normalmente.
Para gerar a chave no cliente (PC01) basta executar o seguinte comando:
ssh-keygen -t rsa
Após isso, o terminal vai exibir algumas informações, sendo que você pode deixá-las todas em branco apenas apertando ENTER em todas as opções.
Uma das informações que serão exibidas é o local onde essas chaves serão armazenadas. Caso esteja utilizando o usuário ROOT, o diretório será “/root/.ssh/”. Caso esteja usando outro usuário, procurar na HOME desse usuário “~/.ssh/”
Agora já temos as duas chaves. A chave privada que foi gerada está no arquivo “id_rsa“. A chave pública que foi gerada está no arquivo “id_rsa.pub”
O próximo passo é transferir a chave PÚBLICA para o nosso servidor (Centos7, PC02) utilizando o scp. A transferência será para o diretório “/tmp”
scp /root/.ssh/id_rsa.pub root@ipdoservidor:/tmp/
será exigida a senha
Agora acesse o servidor (Centos7, PC02). Pode ser utilizando o ssh também
ssh root@ipdoservidor
será exigida a senha
A chave pública está no diretório /tmp que foi transferido anteriormente usando scp.
No diretório /root/.ssh há um arquivo chamado authorized_keys. Esse arquivo contém as chaves públicas autorizadas para a conexão com esse servidor. No nosso caso, vamos copiar o conteúdo da chave pública do cliente (Debian 8, PC02) para dentro desse arquivo.
Pode ser feito abrindo o arquivo onde tem a chave pública, copiando o seu conteúdo, e colando em authorized_keys, porém vamos utilizado o cat para ser mais rápido e prático.
cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys
o comando “cat” acima leu o conteúdo do arquivo id_rsa.pub e jogou ele para o final do arquivo authorized_keys utilizando o >>, assim não apagando as outras chaves que possam haver já registradas.
Após esses procedimentos, o CLIENTE já conseguirá se conectar utilizando o SSH.
Espero ter ajudado. Qualquer dúvida e sugestão só deixar nos comentários.
Abraços e até mais.