12.3.2. Geração de pares de chaves SSH
Use este procedimento para gerar um par de chaves SSH em um sistema local e para copiar a chave pública gerada para um servidor OpenSSH
. Se o servidor estiver configurado de acordo, você pode entrar no servidor OpenSSH
sem fornecer nenhuma senha.
Se você completar os seguintes passos como root
, somente root
é capaz de usar as chaves.
Procedimento
Para gerar um par de chaves ECDSA para a versão 2 do protocolo SSH:
$ ssh-keygen -t ecdsa Generating public/private ecdsa key pair. Enter file in which to save the key (/home/joesec/.ssh/id_ecdsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/joesec/.ssh/id_ecdsa. Your public key has been saved in /home/joesec/.ssh/id_ecdsa.pub. The key fingerprint is: SHA256:Q/x+qms4j7PCQ0qFd09iZEFHA+SqwBKRNaU72oZfaCI joesec@localhost.example.com The key's randomart image is: +---[ECDSA 256]---+ |.oo..o=++ | |.. o .oo . | |. .. o. o | |....o.+... | |o.oo.o +S . | |.=.+. .o | |E.*+. . . . | |.=..+ +.. o | | . oo*+o. | +----[SHA256]-----+
Você também pode gerar um par de chaves RSA usando a opção
-t rsa
com o comandossh-keygen
ou um par de chaves Ed25519, digitando o comandossh-keygen -t ed25519
.Para copiar a chave pública para uma máquina remota:
$ ssh-copy-id joesec@ssh-server-example.com /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed joesec@ssh-server-example.com's password: ... Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'joesec@ssh-server-example.com'" and check to make sure that only the key(s) you wanted were added.
Se você não usar o programa
ssh-agent
em sua sessão, o comando anterior copia a chave pública~/.ssh/id*.pub
modificada mais recentemente, caso ainda não esteja instalada. Para especificar outro arquivo de chave pública ou para priorizar chaves em arquivos sobre chaves armazenadas em cache na memória porssh-agent
, use o comandossh-copy-id
com a opção-i
.
Se você reinstalar seu sistema e quiser manter os pares de chaves gerados anteriormente, faça backup do diretório ~/.ssh/
. Após a reinstalação, copie-o de volta para seu diretório home. Você pode fazer isso para todos os usuários em seu sistema, incluindo root
.
Etapas de verificação
Acesse o servidor OpenSSH sem fornecer nenhuma senha:
$ ssh joesec@ssh-server-example.com Welcome message. ... Last login: Mon Nov 18 18:28:42 2019 from ::1
Recursos adicionais
-
ssh-keygen(1)
essh-copy-id(1)
páginas man