Este pequeno artigo tem o objeto de mostrar de uma forma prática e objetiva a utilização de chaves de confiança entre servidores. A utilização deste procedimento evita a digitação continua de senhas para acesso entre servidores.
CONSIDERAÇÕES.
Estamos considerando que você já possua familiaridade com o pacote OpenSSH, e que entende o conceito de chaves. Neste artigo também estamos utilizando uma distribuição Debian, porém nada impede de realizar os procedimentos em distribuições derivadas da RedHat, basta realizar a instalação do pacote de maneira apropriada.
1) CRIANDO CHAVES.
Para que possamos criar um par de chaves público/privada utilizamos o comando “ssh-keygen“. Este comando vem instalado junto com o pacote “openssh-server“, que pode ser instalado conforme comando ilustrado abaixo:
apt-get install openssh-server
Ao executar o comando “ssh-keygen“, o mesmo cria as chaves no diretório “~/.ssh/” na máquina de origem para o usuário atual. Realize a geração de chaves conforme ilustrado abaixo:
ssh-keygen -t rsa -f ~/.ssh/serverweb_rsa
Explicação do Comando:
-t: Especifica o tipo de chave para criação. Pode ter os seguintes valores “rsa1” para protocolos de versão 1 e “dsa”, “ecdsa”, “ed25519”, ou “rsa” para protocolo de versão 2.
rsa: Rivest Shamir Adleman – É um algoritimo para gerar chaves, possui um tamanho de 4096 bits. Mais seguro que o DSA, muito utilizado em servidores SSH.
-f: Especifica o nome do arquivo de chaves.
2) TROCA DE CHAVES ENTRE SERVIDORES
Com as chaves geradas, precisamos realizar a troca das chaves de confiança entre servidores. Para isso, copie a chave pública gerada e adicione no arquivo “~/.ssh/authorizated_keys” do servidor remoto ou da máquina cliente que deseja utilizar para acessar seu servidor.
Obs: É importante salientar que é imprescindível a utilização de um usuário para realizar esta conexão ssh entre hosts, uma boa prática é utilizar um usuário que não seja o usuário root.
ssh usercart@serverarqs "echo `cat ~/.ssh/serverweb_rsa.pub` >> ~/.ssh/authorized_keys"
Realize este procedimento entre seus hosts que deseja ter relacionamento de chaves de confiança ssh.
CONCLUSÃO
Através deste artigo foi demostrado de maneira simples e objetiva a abordagem da relação de confiança entre chaves SSH. Com a utilização desta relação não é mais necessário a utilização de senha para conexão, auxiliando assim a utilização de ferramentas e scripts remotos.
Se você gostou deste post e através dele pude lhe ajudar, o que acha de aproximarmos nosso contato? Siga meu blog e me adicione no Linkedin, aproveite para classificar algumas das minhas competências/recomendações, este simples gesto faz toda a diferença.
Att,
Rafael Oliveira
SysAdmin
2 respostas
Muito bom o seu blog. Já vou deixar salvo aqui nos meus favoritos.
Obrigado, feliz por poder contribuir. Siga o blog, sempre tento contribuir com assuntos relevantes. Grande abraço.