Objetivo:
- Fazer backup por SSH, ou acessar outro GNU/Linux, sem que este solicite senha.
Procedimento:
- Gerar um par de chaves, onde uma é pública e a outra, é privada. Este par de chaves possuem uma combinação única, onde a chave privada, acessa a chave pública sem senha.
Intuito:
- Segurança, caso alguém troque a senha, você possui chances maiores de não perder acesso.
1º Passo
Torne-se super usuário e instale o
openssh-server nos computadores:
# apt-get install openssh-server
2º Passo
Gerar as chaves públicas e privadas:
# ssh-keygen
E de 3 ENTER.
* Anote o diretório onde as chaves vão aparecer, que é no
/.ssh do usuário que gerou as chaves.
No caso, o root:
/root/.ssh
Vá dentro deste diretório, note que apareceu dois arquivos, sendo:
id_rsa (chave privada) e
id_rsa.pub (chave pública).
Se não tivesse dado 3 ENTER, você poderia colocar a senha.
Está sem senha pra backup e não precisa digitá-la, o que é a intenção desta dica.
3º Passo
Copiar a chave pública para o computador que será acessado (só a pública), colocar no
/.ssh do root, do outro computador.
* Tem que ser neste diretório.
Obs.: Pode-se andar com o par de chaves no pendrive, estas chaves geradas juntas é que te dá acesso sem a senha.
4º Passo
Dentro do
/root/.ssh, altere o nome do arquivo que acabou de colocar lá dentro:
De: id_rsa.pub
Para: authorized_keys.
Verifique que, se existir algum arquivo com o nome "authorized_keys", que é o arquivo onde ficam armazenadas todas as senhas de SSH, você tem que colocar o conteúdo do arquivo "id_rsa.pub" para dentro do arquivo "authorized_keys" já existente.
Faça da seguinte maneira:
# cat id_rsa.pub >> authorized_keys
Coloque o conteúdo do primeiro arquivo, no final do segundo arquivo. Ou, se o "authorized_keys" não existir, só renomeie o arquivo "id_rsa.pub":
# mv id_rsa.pub authorized_keys
Obs.: Mesmo se mudarem a senha de root do computador, você ainda poderá acessar tranquilamente com as chaves.
Para acessar:
# ssh ip_do_computador
Ou:
# ssh dominio_do_computador
Fiz essa dica na melhor das intenções.
Como por exemplo, agendar um script de cópia por SSH, como cópias de arquivos para outro computador, sem pedir senha:
# scp /home/usuario/* 192.168.0.1:/home/backups
Mas, ao mesmo tempo, é uma garantia de se ter um acesso "extra" ao servidor.