#### Criando SSH Private Key & Public Key - Linux for Linux 🔑 ####
Muitas vezes por uma necessidade de automação precisamos realizar autenticação sem senha a servidores Linux. O Acesso sem senha facilita o login , não tendo a necessidade de lembrar de uma senha enormemente complexa , além de ser extremamente confiável e segura devido a sua criptografia.
E para realizar o acesso sem senha é necessário gerar duas chaves: a Private Key e a Public Key
A Private Key é a chave de uso exclusivo, ficando registrada somente no dispositivo que terá o acesso;
A Public Key é a chave que será disponibilizada, a mesma ficará registrada no dispositivo que concede o acesso remoto;
"OpenSSH é a principal ferramenta de conectividade para login remoto com o protocolo SSH. Ele criptografa todo o tráfego para eliminar escutas, sequestro de conexão e outros ataques. Além disso, o OpenSSH oferece um grande conjunto de recursos de tunelamento seguro, vários métodos de autenticação e opções de configuração sofisticadas." ( OpenSSH, https://www.openssh.com/, 2020 )
"RSA é um dos primeiros sistemas de criptografia de chave pública e é amplamente utilizado para transmissão segura de dados. Neste sistema de criptografia, a chave de encriptação é pública e é diferente da chave de decriptação que é secreta". ( Wikipédia )
Neste post será utilizado um cenário cliente-servidor, onde estaremos criando a chaves no cliente e configurando a public key no servidor. Serão dois dispositivos com Sistema operacional Linux CentOs 7.
Ciente que os dispositivos envolvidos foram previamente configurado e atualizado. Vamos lá !!!
########################## ETAPA 1 - CRIAÇÃO DAS CHAVES ########################
1 - Primeiramente iremos verificar se a existência do diretório .ssh e consequentemente a existência de chaves
ls ~/.ssh
OBS.: Não existindo, daremos inicio a criação, caso exista cuidado na geração de novas chave de mesmo nome e sobrescrevê-la.
2 - "Chamaremos" o comando para criação das chaves RSA:
ssh-keygen
OBS1.: Iremos criar as Keys com 2048 bit, criação padrão, mas caso queira aumentar a segurança da criptografia basta acrescentar ao comando -b 4096 ao lado ssh-keygen;
OBS2.: Por padrão as chaves serão criadas na path /home/SeuHome/.ssh/id_rsa, bastando click "Enter", mas caso contrario podemos alterar o diretório e nome da chave, em nosso post faremos a alteração somente do nome da chave.
Ex.:
/home/acesso8/.ssh/acesso8
3 - A passphrase (empty for no passphrase) seria uma frase ou palavra secreta, aumentando a segurança da chave, não será nosso caso, tecle "Enter".
4 - E finalmente criamos o par de chaves que utilizaremos, como podem ver na imagem abaixo:
5 - Verificando as chaves criadas:
ls ~/.ssh
############ ETAPA 2 - ENVIAR A CHAVE PUBLICA AO SERVIDOR REMOTO ###########
Iremos enviar a chave através de uma ferramenta nativa de vários sistemas operacionais Linux, de modo simples. Ciente que para esse etapa é necessário que o servidor remoto esteja habilitado a autenticação via senha, posteriormente poderá desabilita-lo, e que seu usuário possua perfil no servidor remoto.
1 - Copiando a chave publica( Necessário usuário de acesso ao servidor remoto e o Ip do servidor):
ssh-copy-id -i ~/.ssh/<Chave> <Usuario>@<IpServidorRemoto>
Ex.:
ssh-copy-id -i ~/.ssh/acesso8 acesso8@192.168.1.202
Em seguida digite "yes"
2 - Em seguida ira solicitar a sua senha no servidor remoto, digite-a e tecle "Enter";
OBS.: Se não houver nenhuma entrada de chave public no servidor remoto será criado um arquivo chamado "authorized_keys" contendo a chave public enviada. Caso já possua entradas de chave, consequentemente o arquivo "authorized_keys" já existira, ao realizar o processo acima a sua chave publica será adicionada abaixo das demais.
OBS.: O "authorized_keys" é file onde adicionamos as chaves publica. A chave privada verifica neste arquivo se possui a sua chave publica. A Chave publica sempre inicia com ssh-rsa.
############ ETAPA 3 - ACESSANDO AO SERVIDOR REMOTO POR CHAVE ###########
1 - Acessando ao servidor remoto por chave
ssh -p <porta> -i ~/.ssh/<ChavePrivada> <Usuario>@<IpServidorRemoto>
Ex.:
ssh -p 22 -i ~/.ssh/acesso8 acesso8@192.168.1.202
Esse foi o procedimento de criação de chaves RSA e acesso entre dispositivos Linux. Deixe seu comentário, duvida, opinião e sugestões aqui em baixo 👇. Assim você ajuda o blog e ajuda outros profissionais a compartilhar conhecimento. 💻