Geração de chaves ssh

De Infraestrutura São Carlos
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:

  1. Na conta do usuário userlcl que irá fazer a conexão, digite os seguintes comandos:
    $ mkdir -p $HOME/.ssh
    $ chmod 0700 $HOME/.ssh
    
  2. 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.
  3. 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
    
  4. 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.
  5. Para testar o funcionamento, digite o comando:
    $ ssh -i $HOME/.ssh/id_dsa userrmt@remoto.cisc.usp.br
    

Referências