Na máquina de gerência, dentro do login responsável pela gerência (no
nosso caso suporte), executaremos o comando
ssh-keygen. Este comando
irá gerar o par de chaves, perguntando também o arquivo que conterá a
chave e a frase-chave:
$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/suporte/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/suporte/.ssh/id_dsa.
Your public key has been saved in /home/suporte/.ssh/id_dsa.pub.
The key fingerprint is:
27:76:90:70:7c:4f:5c:47:21:d1:97:4a:e1:c3:2b:49 suporte@gerencia
No comando acima utilizamos o parâmetro "-t dsa" para indicar que as chaves
que estamos criando serão do tipo dsa (utilizado como padrão pelo ssh). Em
nosso exemplo utilizamos o arquivo sugerido para a gravação da chave
(/home/suporte/.ssh/id_dsa).
Para a frase-chave, quanto maior a frase, mais difícil será para ser
quebrada (infelizmente também será mais difícil de
ser lembrada),
em nosso exemplo estaremos omitindo a frase-chave, o que
fará com que nossa estação de gerência tenha acesso aos equipamentos
remotos sem a necessidade de entrada de senha ou frase. Quando
fornecendo uma frase-chave, ela não será mostrada na tela (nem mesmo *s
aparecerão).
Serão criados dois arquivos,
id_dsa e
id_dsa.pub.
id_dsa é o arquivo no qual estará guardada sua chave privada;
GUARDE ESTE ARQUIVO COM A SUA VIDA, pois ele será o responsável por toda
a segurança de nossa comunicação. Já
id_dsa.pub é o arquivo da
chave pública, que iremos enviar a todos os servidores para que nosso
acesso seja autorizado.
Após a criação dos arquivos, precisamos enviar as chaves públicas aos
servidores para que possamos acessá-los. Como nosso objetivo é o acesso
remoto seguro, iremos estabelecer a comunicação da estação de gerência
com os servidores remotos através da conta suporte (poderíamos entrar
diretamente como root, porém este ato seria uma quebra de segurança,
pois qualquer pessoa que tivesse acesso a senha da estação de gerência
teria acesso imediato a conta de administração dos servidores).
Mais uma vez zelando pela segurança, iremos utilizar o comando scp
(secure copy ? cópia segura) para transmitir o arquivo para o
diretório
/home/suporte/.ssh dos servidores remotos (no nosso
exemplo iremos fazer apenas para o servidor alfa).
No servidor, todas as chaves públicas têm de estar no arquivo
~/.ssh/authorized_keys.
$ scp id_dsa.pub alfa:.ssh/gerencia.pub
suporte@alfa's password:
id_dsa.pub 100% |
********************************************| 602 00:00
$ ssh alfa
suporte@alfa's password:
suporte@alfa:~$
cd .ssh
suporte@alfa:~/.ssh$
cat gerencia.pub >> authorized_keys
O próximo passo será testar o acesso ao servidor alfa através da estação
gerência.
$ ssh alfa
Linux alfa 2.4.18 #1 Thu Sep 26 13:26:03 BRT 2002 i686 unknown
Last login: Fri Sep 5 17:22:44 2003 from gerencia
suporte@alfa:~$