Aqui está outra aplicação útil para o comando
ssh. Criar chaves públicas para logar sem senha, diminuindo consideravelmente o tempo gasto no trânsito de um usuário entre vários servidores.
É fácil e rápido configurar o acesso sem senha por ssh entre dois computadores. Veja como:
1. No computador cliente, digite o seguinte comando:
# ssh-keygen -b 1024 -t rsa
Esse comando cria uma chave de 1024 bits e usando o algoritmo rsa. Após executar esta linha de comando deverá aparecer outra na sua tela, conforme o exemplo abaixo:
Enter file in which to save the key (/root/.ssh/id_rsa):
Ele está pedindo o nome de um arquivo para criar a chave. Pressione apenas ENTER, aceitando a sugestão da tela.
Aparecerá a linha abaixo. Esta linha está pedindo uma "frase-senha", mas como o que queremos é criar um acesso direto sem senha, pressione apenas ENTER.
Enter passphrase (empty for no passphrase):
Após isso aparecerá a linha abaixo, solicitando uma confirmação da frase-senha anterior. Pressione ENTER novamente.
Enter same passphrase again:
Se tudo foi feito corretamente, apareceu a o texto abaixo, confirmando a criação da chave pública. Esta chave é um arquivo está no seu computador.
The key fingerprint is:
c5:62:55:5e:97:a7:64:aa:b7:79:82:06:89:1d:c2:0c root@branco.localdomain
Para que o servidor possa autorizar conexões por ssh sem senha deste computador você precisa enviar o arquivo /root/.ssh/id_rsa.pub para ele (servidor) e colocá-lo dentro da pasta /root/.ssh. Depois deve renomear o arquivo para authorized_keys. Se quiser use o comando abaixo que já faz tudo de forma automática (envia e renomeia):
# scp /root/.ssh/id_rsa.pub 200.251.75.114:/root/.ssh/authorized_keys
Pronto! Agora tente acessar o servidor ssh e ele não pedirá mais a senha.
Os passos a repetir, caso tenha dado algo errado, são:
- Criar uma chave pública (ela ficará no seu computador em /root/.ssh/id_rsa.pub)
- Enviar esta chave (ou este arquivo. Como achar melhor) para o servidor de ssh.
- Renomear o arquivo de id_rsa.pub para authorized_keys.
Vale lembrar que executei todos os comandos como root. Se você usa um usuário comum deverá considerar as devidas diferenças.
Se desejar, pode copiar as linhas abaixo para criar um script que faz isso sozinho também.