Skip to content

Como Gerar e Usar Chaves SSH no Linux

Neste artigo você aprenderá sobre os benefícios do uso das chaves SSH, como gerar as suas, distribuí-las e usá-las no Linux.

Introdução: O que são chaves SSH?

O SSH (Secure Shell), também conhecido como Secure Socket Shell, é um protocolo que permite a conexão com servidores remotos, de forma criptografada e mais segura, usando um par de chaves RSA.

Este método consiste na criação de duas chaves, uma pública que deve ser instalada nos servidores remotos, e a outra chave privada que fica salva em um local seguro. A encriptação e decriptação são feitas usando chaves separadas e não é possível conseguir a chave de decriptação usando a chave de encriptação.

 

DevSecOps: Baixe agora a Avaliação e descubra seu nível de maturidade. Conheça os próximos passos para implantar segurança em escala em sua aplicação e infra cloud-native.

 

1. Gerando Chaves SSH no Linux

 Em um terminal, digite o comando, abaixo:

# ssh-keygen -t rsa -C “NomedaEmpresa:NomeCompleto:Data”

Note que as variáveis que se encontram entre aspas devem ser substituídas de forma adequada, como no exemplo a seguir:

# ssh-keygen -t rsa -C “SPIRIT:GleydsonMazioli:04-05-2019”

Informe o arquivo no qual deseja salvar a chave privada ou aceite o local padrão, que é /home/nomedousuario/.ssh/id_rsa.

Escolha sua frase-senha (‘passphrase’), pressione Enter e digite-a novamente, para confirmar.

A frase-senha precisará ser digitada sempre que você usar a chave para se conectar usando o SSH. Você pode não definir uma frase-senha, apenas pressionando a tecla Enter, mas você estará deixando de usar uma camada de segurança, o que não é recomendado.

Se você selecionou o arquivo padrão, sua chave privada SSH foi salva em /home/nomedousuario/.ssh/id_rsa

Além da sua chave SSH privada, o diretório .ssh conterá agora dois arquivos:

# ls -1 .ssh/
id_rsa
id_rsa.pub

O arquivo id_rsa contém sua chave privada e o arquivo id_rsa.pub contém sua chave pública.

Pronto! Agora que você já tem suas chaves públicas e privadas, sempre que você quiser acessar um servidor remoto, basta copiar ou pedir que o administrador copie sua chave pública para ele.

Você pode inclusive solicitar a criação de um certificado digital junto a Verisign, para que sua identidade análogica seja associada as chaves geradas.

 

2. Distribuindo sua Chave Pública

 

ATENÇÃO! Somente distribua sua chave pública e mantenha sua chave privada em segurança.

 

Agora adicione a chave SSH pública gerada aos seus hosts remotos. Se sua empresa tem uma subscrição de suporte com a SPIRIT, nós faremos a distribuição de sua chave pública para todos os servidores que você deve ter acesso. Basta que você a envie para o endereço suporte @ spiritlinux .com .br (não se esqueça de remover os espaços!)

Se você é o administrador do servidor remoto, você vai precisar adicionar sua chave pública ao arquivo ~/.ssh/authorized_keys dos hosts. Uma forma fácil de fazer isso é utilizando o ‘ssh-copy-id’:

# ssh-copy-id -i .ssh/id_rsa.pub usuario@servidor

No exemplo acima usamos a opção -p para informar que a conexão SSH será feita pela porta 2222. Caso seu servidor use a porta padrão, 22, não é necessário acrescentar esta variável.

 

3. Usando as Chaves SSH no Linux

Para conectar-se ao servidor remoto, digite o seguinte abaixo, lembrando que a chave SSH não substitui o uso de seu nome de usuário, mas sim deixa o processo mais seguro.

# ssh nome_de_usuário@host_remoto

Como está será sua primeira conexão usando as chaves SSH, o sistema pedirá sua confirmação:

Are you sure you want to continue connecting (yes/no)? <^>yes<~>

 

4. Conclusão

Neste tutorial, você aprendeu a gerar o par de chaves SSH públicas/privadas e usar essas chaves com o servidor remoto para realizar uma conexão mais segura.