Geração de chaves ssh
Ir para navegação
Ir para pesquisar
Objetivo
Gerar chaves para SSH sem a necessidade de utilização de senhas das contas.
Requisitos
- Ubuntu
- openssh-server
Procedimentos
Ao automatizar processos em sistemas Linux, normalmente deparamos com problemas como executar comandos remotamente sem a necessidade de digitação da senha da conta remota (ou intervenção humana). Assim, o SSH disponibiliza a criação de chaves para permitir este tipo de acesso, embora seja uma prática de segurança não recomendada.
Suponha que você necessite executar comandos remotos um computador remoto (remoto.cisc.usp.br) utilizando a conta userrmt a partir de seu computador local (local.cisc.usp.br) utilizando a conta userlcl.
No computador local, execute os seguintes procedimentos:
- Na conta do usuário userlcl que irá fazer a conexão, digite os seguintes comandos:
$ mkdir -p $HOME/.ssh $ chmod 0700 $HOME/.ssh
- Gere a chave do cliente no diretório $HOME/.ssh:
$ ssh-keygen -t dsa -f $HOME/.ssh/id_dsa -P ''
Este comando irá gerar dois arquivos contendos os pares de chaves:
- id_dsa: chave privada, que deve ser protegida.
- id_dsa.pub: chave pública, que pode ser divulgada.
- Transfira a chave pública (id_dsa.pub) para o computador remoto:
$ scp $HOME/.ssh/id_dsa.pub userrmt@remoto.cisc.usp.br:.ssh/authorized_keys2
ATENÇÃO: Este comando sobrepõe o arquivo authorized_keys2. Se você possui mais de uma chave pública, acrescente a nova chave ao final do arquivo.
- Para testar o funcionamento, digite o comando:
$ ssh -i $HOME/.ssh/id_dsa userrmt@remoto.cisc.usp.br