Neste artigo você aprenderá sobre os benefícios do uso das chaves SSH, como gerar as suas, distribuí-las e usá-las no Linux.
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.
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.
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.
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<~>
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.