Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Conexão SSH entre servidores Linux sem senha
Linux user
Publicado por Rafael Mendes em 25/03/2009

Login: rafael.mendes, 9032 pontos | Blog: http://mundotionline.blogspot.com
[ Hits: 7745 ]

Conexão SSH entre servidores Linux sem senha

Neste tutorial será apresentada uma maneira de efetuar conexões ssh entre servidores Linux sem a necessidade de informar a senha do root. Tais configurações foram efetuadas no sistema Debian GNU/Linux 4.0.

Hoje, quando trabalhamos com vários servidores e esses precisam executar conexões ssh via scripts, seja para a execução de um backup por exemplo, ao utilizar o comando "scp" temos que passar no script a senha do root, o que fica exposto de certa maneira, não sendo seguro e necessitando sempre da atualização da senha do root no seu script toda vez que do servidor é alterada.

Para resolver este problema podemos criar chaves públicas/privadas para que esta conexão ssh entre os servidores sejam fechadas, sem a necessidade de informar a senha de root. Tal tipo de acesso é seguro e criptografado.

Um ponto negativo é que um usuário logado com root no servidor "X" poderá efetuar uma conexão ssh no servidor "Y" sem a necessidade de informar a senha do root do outro servidor, pois os mesmos estão fechando uma sessão segura, porém a pessoa que está utilizando esta conexão deveria mesmo ter permissão para conectar no servidor "Y"?

Configurando

1. Geração da chave.

No servidor que originará a conexão, executar o comando abaixo para gerar a chave (nas opções apenas pressionar enter). O comando irá gerar a chave pública para conexão em /root/.ssh/id_rsa.pub:

# ssh-keygen -b 1024 -t rsa

2. Configurando chave para uso.

Copiar o conteúdo do arquivo /root/.ssh/id_rsa.pub para o servidor que receberá a conexão, colocando a chave copiada no arquivo /root/.ssh/authorized_keys (criar o arquivo caso não exista).

Desta maneira o servidor que receberá a conexão terá a chave pública do servidor de origem, liberando a sessão segura criptografada.

3. Reiniciando o serviço.

Reiniciar o serviço do ssh no servidor que receberá a conexão:

# /etc/init.d/ssh restart

4. Teste.

Efetuar o teste. Ao executar:

# ssh -p"Porta" "IP Destino" -lroot

O terminal não deverá pedir senha.

Se tudo ocorreu bem, agora entre estes servidores você tem uma conexão segura, não sendo necessário informar senha de root a cada conexão ssh.

Adicionando mais servidores

Para fechar conexão segura com outros servidores para o mesmo servidor de destino, basta seguir os mesmos passos para a geração da chave pública no servidor de origem e colocar o conteúdo do arquivo /root/.ssh/id_rsa.pub dentro do arquivo /root/.ssh/authorized_keys no servidor de destino.

Pode-se colocar as chaves uma embaixo da outra, também pode-se colocar comentários no arquivo /root/.ssh/authorized_keys para informar de que servidor é a chave por exemplo.

Informações adicionais

Explicando os parâmetros para a geração da chave:
  • ssh-keygen - é o comando para a geração da chave pública executada no servidor que originará a conexão;
  • -b 1024 - é a quantidade de bits que terá a chave, neste exemplo estamos gerando a chave com 1024 bits;
  • -t rsa - é o tipo de algoritmo usado para gerar a chave, a qual podendo ser RSA (Rivest, Shamir and Adleman) ou DSA (Digital Signature Algorithm).

Maiores informações referente a algorítimo DSA podem ser vistas em:
Maiores informações referente a algorítimo RSA podem ser vistas em:
Sobre criptografia... interessante: CIA - Confidencialidade, Integridade e Autenticação

Dúvidas? Estou a disposição.

Também visitem o meu blog, onde coloco vários posts.


Outras dicas deste autor
Nenhuma dica encontrada.

Leitura recomendada
   Dica Linux recomendada Configurar LILO facilmente
   Dica Linux recomendada Introdução ao Slackware Linux 13 - Instalação
   Dica Linux recomendada Definição de senha para uma página da web
   Dica Linux recomendada Tocar DVD no Arch Linux e no KahelOS
   Dica Linux recomendada Ocomon + Active Directory (AD)

Comentários
[1] Comentário enviado por xjc em 26/03/2009 - 02:19h:

Rapa não aconselho deixar sem senha , isso pode comprometer o servidor

[2] Comentário enviado por rafael.mendes em 26/03/2009 - 09:27h:

Primeiramente, muito obrigado pela sua opinião Julio.

Para esclarecer, na verdade seu servidor não ira ficar sem senha... todos os outros cliente os quais não tem suas chaves publicas cadastradas no servidor, será solicitado usuário e senha normalmente. Apenas não será solicitado usuário e senha para os servidores que fecharem conexão ssh tendo suas chaves públicas cadastradas no servidor que ira receber a conexão.

[3] Comentário enviado por kieronny em 11/11/2011 - 16:48h:

Cara, tu me ajudou um monte. Estava implementando a execução de um bashscript para ejetar a fita após o backup, só que a unidade de fita estava localizada em um servidor o bacula em outro. Precisava que o bacula ejetasse a fita no outro servidor. Tive que utilizar o recurso de ssh.
Valeu! Rafael


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.