Muitas vezes é preciso ter uma conexão por ssh sem senha, seja para desenvolver uma rotina de backup em outras maquinas ou simplesmente para facilitar a sua vida.
A conexão em outras maquinas por ssh pode ser feita sem precisar ficar colocando a senha sempre atraves de algum programa que gerencia as senhas como o Kerberos ou através de uma chave pública/privada que utilizaremos.
Considerando que já está instalado o ssh, devemos criar uma chave de autenticação RSA:
$ ssh-keygen -t rsa
será solicitado várias perguntas para gerar a senha, elas podem ficar em branco.
Tendo finalizado, será gerado dois arquivos ~/.ssh/id_rsa e ~/.ssh/id_rsa.pub, o arquivo com a chave pública é o .pub, esse arquivo precisa ser enviado para a maquina remota, para isso pode ser feito pelo comando:
$ scp ~/.ssh/id_rsa.pub user@ip:~
Após de enviar o arquivo para a maquina remota, conecte nela (pela ultima vez usando senha)
$ ssh user@ip
depois de conectado, copie a chave pública mandada para o maquina remota para dentro do arquivo de chaves autorizadas:
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
Depois disso, basta remover o arquivo enviado já que não será utilizado mais:
$ rm ~/id_rsa.pub
Pronto, tendo terminado todos os passo o acesso a outra maquina remota será feito sem a necessidade de colocar a senha novamente.