Este site usa cookies para garantir que você obtenha a melhor experiência, caso tenha duvidas acesse a nossa Política de Privacidade

Aceitar!

Como gerar chaves SSh no linux.

Tutorial usando o openSSH.

Postado por metavops 21 de maio de 2021.

Nesse post irei te auxiliar a como gerar chaves ssh em qualquer distro linux a partir do openSSH. O openSSH é um software que geralmente vem instalado como padrão nas distros linux, abaixo vemos um pequeno resumo sobre a tecnologia retirado da web, caso queira saber mais sobre clique aqui e acesse o site oficial do openSSH.

" OpenSSH é um conjunto de utilitários de rede relacionado à segurança que provém a criptografia em sessões de comunicações em uma rede de computadores usando o protocolo SSH. Foi criado com um código aberto alternativo ao código proprietário da suíte de softwares Secure Shell, oferecido pela SSH Communications Security. OpenSSH foi desenvolvido como parte do projeto OpenBSD, liderado por Theo de Raadt. "
Trecho retirado do wikipedia.

Afinal pra quê serve o protocolo SSH ?

Vamos simular o seguinte caso, imagina que você precisa acessar um servidor linux na qual hospeda seu site para uma manutenção de rotina, qual seria a melhor forma de acessa-lo remotamente e do forma segura ? Pois bem, ai que entra o protocolo SSH para realizarmos esse acesso de forma rapida e segura, o SSH pode ser utilizado com autenticação por chaves que garante o processo de conexão mais seguro, rapido e pratico, alem de prover melhor segurança por conta de tunel criptografado que é utilizado na conexão, deixando assim seu acesso remoto mais seguro.

metavops

Mãos a obra para gerarmos nossas chaves.

Com o terminal linux aberto, verifique se o openssh esta instalado, caso não esteja clique aqui e acesse o site oficial do openSSH e realize a instalação do software.

O open-ssh após instalado mantem uma pasta oculta chamada ".ssh" essa pasta geralmente fica no diretorio home do usuario por exemplo "/home/[usuario]/.ssh" a pasta por padrão tem a permissão de acesso "7 0 0" oque significa que apenas o usuario "root" pode acessar a pasta. No meu print abaixo eu já apliquei outra permissão para a pasta, caso não saiba como alterar as permissões de arquivos e pastas clique aqui. e confira o artigo que escrevi sobre isso.

Para que consiga localizar a pasta e acessa-la, digite o comando "sudo su" e sua senha para se tornar um super usuario, e utilize o comando "ls -la" para visualizar a pasta ".ssh", no meu print adicionei um pipe("|") e apliquei o comando "grep" para filtrar entre o resultados exibidos pelo comando "ls -la".

metavops

Acesse a pasta usando o comando "cd .ssh" para que possamos gerar as chaves ssh dentro da pasta.

metavops

Agora que estamos dentro da pasta, vamos aplicar o comando para gerarmos as chaves, use o comando "ssh-keygen" para gerar o par de chaves.

Após executar o comando "ssh-keygen" ele vai pedir o nome ou o caminho+nome onde salvará as chaves, eu nomeei como "minhaprimeirachavessh", porem você tambem pode trocar o diretorio onde vai salvar os arquivos da chave caso não esteje dentro da pasta ".ssh", ou caso queira trocar o local, digite dessa forma "/[local desejado]/minhaprimeirachavessh" para aterar o local onde ficará salvo os arquivos, mas por padrão eu decidi slavar na pasta ".ssh" .

Após isso, você pode inserir uma "plavara/frase passe" para proteção de sua chave ssh, caso queira utilizar esse recurso digite uma "plavara/frase passe" para proteção no campo "Enter passphrase" e "Enter same passphrase again", caso não queira configurar apenas tecle "enter" em seu teclado para ir pulando essas 2 opções.

metavops

Com as chaves criadas vamos verificar os arquivos e testa-los, utilize o comando "ls -l" e verifique se as chaves estão salvas no diretorio. Como podemos ver os dois arquivos estão no diretorio, um deles é a nossa chave publica(arquivo com a externsão ".pub") e o outro é a nossa chave privada.

metavops

O arquivo com a externsão ".pub" como a propria extensão já diz é o arquivo de chave publica, esse arquivo deve ser mandado para o servidor/serviço, já o outro arquivo ele fica em sua maquina pois vai ser sua chave privada que você utilizará para acessar o servidor.

Para um teste rapido eu fiz o upload do aquivo de chave publica em um dos meus servidores na oracle cloud.

metavops Nomeei a instancia com o nome "vm-01". metavops Onde fiz o upload da chave publica para a instancia e apliquei as configurações na instancia.

Após isso use o seguinte sintaxe de comando para acessar o servidor desejado com a chave privada.

ssh -i [arquivo] [usuario]@[ip do servidor]

asssim como fiz abaixo. Obs: coloquei o IP: 192.x.x.x para não expor meu IP publico.

metavops

Digite "yes"

metavops

Parabéns você já estar dentro do servidor.

metavops

Dica do juninho.

Geralmente quando eu tenho que acessar o mesmo servidor diversas vezes, eu gero um shell script onde armazeno o caminho e o nome da chave privada e o numero IP do servidor, ficando assim mais facil a conexão com o servidor.

Navegue até um diretorio de sua preferencia e utilize o comando "touch" com para criar um arquivo com a extensão ".sh", no meu caso eu criei um arquivo com o mesmo nome do meu servidor vm-01.

metavops

Após gerar o arquivo, use o comando "chmod" para dar permissão de execução ao arquivo

comando: "chmod +x vm-01.sh"

metavops

Depois acesse o arquivo usando um editor de texto de sua preferencia, eu por exemplo estou utilizando o VI.

Abra o arquivo com o comando: vi vm-01.sh

Tecle "I" em seu teclado, para poder inserir texto no arquivo.

Na primeira linha dentro do arquivo, adicione o comentario: #!/bin/bash

Logo após isso insira o comando que utilizamos acima para nos conectarmos ao servidor.

Para salvar o arquivo, tecle ESC no teclado, depois insira ":wq" e tecle enter para salvar e sair.

metavops

Após salvarmos o arquivo utilizaremos ele para se conectar ao servidor, esse script que criamos é para automatizar para não precisar ficar decorando o caminho, nome, e IP do servidor na qual queira conectar.

Para executar o arquivo sell script utilizaremos o comando "./" antes do arquivo, nesse caso ficaria: ./vm-01.sh

metavops

Pronto já estamos dentro do servidor, bastou apenas um comando simples que foi chamar nosso script em shell.


Deixe seu comentario ou sugestão sobre o post.