Page cover

Gerando par de chaves para a SSH

Podemos facilmente produzir em sistemas Linux Unix ou MacOs chaves ssh. Para isso devemos utilizar o comando ssh-keygen diretamente no terminal da seguinte forma:

ssh-keygen -t key_type

Alguns tipos comuns são RSA, DSA, ECDSA, EdSA e ECMQV.

Posteriormente o sistema irá perguntar em qual local gostaríamos de salvar nossa chave. Podemos manter o padrão ou definir um nome diferente. Por fim, o sistema questiona se gostaríamos de adicionar uma senha a ser informada antes de utilizar a chave, podemos inclusive deixar o campo vazio e apenas confirmar com a tecla enter. A seguinte saída deve ser observada.

The key fingerprint is:
SHA256:jcOqUBqhtfBcbSjybk1NtmaOXdZsPoEZQ7M2oZojrMQ mackleaps.local
The key's randomart image is:
+---[RSA 3072]----+
|        +        |
|     o o +       |
|o + o * *        |
|.X = B + @       |
|.EO * = S *      |
|.o B B + + .     |
|. = o +   o      |
| . . .     .     |
|    .            |
+----[SHA256]-----+

Podemos ir então ao diretório onde as chaves são armazenadas:

cd /~/.ssh
Pasta .ssh no client

Podemos observar que 2 chaves foram criadas sendo uma pública (.pub) e outra privada. A chave pública deverá então ser armazenada no servidor ao qual se pretende acessar remotamente enquanto a privada deve permanecer armazenada em um local seguro sem ser compartilhada.

Em sistemas Windows um processo semelhante pode ser realizado utilizando o Powershell, Git Bash ou então utilizando ferramentas especificas como o PuTTygen.

Configurando as chaves SSH no servidor

Com as chaves geradas podemos agora copiar a chave publica para o servidor através do comando a seguir:

Saída esperada:

A chave adicionada pode então ser encontrada no arquivo authorized_keys do diretório .ssh do servidor.

Podemos agora acessar o servidor utilizando tanto a passagem da chave privada diretamente no comando da ssh ou utilizando o SSH Agent.

Ou então

Mais informações:

Last updated