Como Gerar e Usar Chaves SSH no Linux

SPIRIT > Tutoriais  > Chave SSH  > Como Gerar e Usar Chaves SSH no Linux

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.

1. Gerando Chaves SSH no Linux

1.1 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”

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

1.3 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. Saiba mais aqui.

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!)

2.1 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

3.1 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.

Gleydson Mazioli

Especialista em segurança e alta performance, possui certificações LPI nível 1 a 3. Com formação em Administração, atuou como consultor do Ministério da Comunicação e da Educação, Prefeitura de Campinas, ITI e outros. Autor do Guia Foca Linux, material de estudo reconhecido em vários países de língua portuguesa e utilizado por grandes faculdades no Brasil, como Unicamp, USP, UERJ e UFES. Também é desenvolvedor da Debian, além de ajudar com projetos múltiplos, como Amanda, Nagios, SquirrelMail, etc.

No Comments

Deixe uma resposta