Relação de confiança entre máquinas através do serviço SSH

Publicado por Fábio em 22/11/2012

[ Hits: 19.024 ]

 


Relação de confiança entre máquinas através do serviço SSH



Para fazer uma relação de confiança entre máquinas através do serviço SSH, que é usado para fazer acesso remoto, é necessário criar uma chave na máquina servidora para que esta possa ser usada nos clientes.

Primeiro e mais importante, é preciso que as máquinas tenham o SSH instalado. Para instalá-lo, usamos o comando:

# apt-get install openssh-server

Após ter instalado o programa, devemos criar a chave pública, é através dela que as máquinas poderão testar se há confiança para permitir acesso sem pedir senha.

Para criar a chave, precisamos estar na pasta HOME da máquina que será o servidor, caso não esteja, digite:

cd ~

Então, usamos o comando para criar a chave:

ssh-keygen -b 1024 -t dsa
Ou:
ssh-keygen -b 1024 -t rsa

Pode-se usar qualquer um dos comandos. No primeiro comando é criado uma chave do tipo DSA de 1024 bits e a diferença dele pro RSA é o tipo da chave. A chave DSA é mais segura, só que um pouco mais lenta na hora da autenticação, mas a diferença é quase imperceptível.

Veja o resultado do comando:

Generating public/private dsa key pair.
Enter file in which to save the key (/home/aluno/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/aluno/.ssh/id_dsa.
Your public key has been saved in /home/aluno/.ssh/id_dsa.pub.
The key fingerprint is:
8c:88:31:b2:49:b4:05:79:29:12:8a:6f:07:6e:27:54 aluno@lab05-008.cefet-to.org
The key's randomart image is:
+--[ DSA 1024]----+
|.+o.E            |
|=oo+             |
|=oB              |
|.B = . o         |
|o B + . S        |
| o +             |
|                 |
|                 |
|                 |
+-----------------+

Não precisa digitar nada em nenhum campo, basta pressionar ENTER.

Após ter criado a chave, precisamos copiá-la para a máquina que será o cliente.

Copiando arquivos para o cliente

A chave recém criada encontra-se na pasta oculta ".ssh" que está na pasta home do usuário. O nome dela é "id_dsa.pub":

cd .ssh

Agora, vamos copiar a chave pela rede, usando o programa SCP.

O scp é um comando muito útil para transferência de arquivos via console, de micro para micro:

scp id_dsa.pub cliente@192.168.1.2:/home/cliente/.ssh/authorized_keys

Com este comando, copiamos o arquivo "id_dsa.pub" para o usuário cliente que tem o IP 192.168.1.2 [cliente@192.168.1.2], este arquivo copiado terá como destino o diretório /home/cliente/.ssh e será salvo na máquina no cliente com um nome novo: authorized_keys

* É importante que a chave tenha o nome "id_dsa.pub" no servidor e "authorized_keys" no cliente, do contrário, não haverá confiança entre as máquinas.

** Outro detalhe, essa confiança só acontecerá no momento que o servidor for acessar o cliente, e não quando o cliente for acessar o servidor.

Para finalizar, digite o seguinte comando no servidor:

ssh cliente@192.168.1.2

Se ele se conectar sem pedir senha, significa que está tudo certo.

Esta configuração é bastante usada na criação de Clusters.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Slackware em modo texto - Apagão na tela durante inicialização

Configurando o Unity 2D

USB no VirtualBox sem nenhuma configuração + importando máquinas virtuais

Configurando Gnome 3 para Gnome Tradicional no Ubuntu 11.04 Natty Narwhal

Pegar MMS de rádios online e salvar as músicas em segundos

  

Comentários
[1] Comentário enviado por m4iir1c10 em 24/11/2012 - 20:12h

Ola Fabio, excellente dica!

Eu estou preparando um artigo falando sobre a seguranca em ssh, eu creio que na proxima semana eu ja vou enviar para a moderacao... Agora uma pergunta, quando voce disse:

* É importante que a chave tenha o nome "id_dsa.pub" no servidor e "authorized_keys" no cliente, do contrário, não haverá confiança entre as máquinas.

** Outro detalhe, essa confiança só acontecerá no momento que o servidor for acessar o cliente, e não quando o cliente for acessar o servidor.

Nao e ao contrario? o nome "id_dsa.pub" fica no cliente e "autorized_keys" no servidor? Por que quando eu acesso uma maquina eu sou o cliente e a maquina e o servidor, assim quando eu copio o id_dsa.pub do meu computador renomeando para authorized_keys no server.

scp id_dsa.pub usuario@192.168.1.2:/home/usuario/.ssh/authorized_keys

[2] Comentário enviado por fabbio204 em 25/11/2012 - 12:26h

Você está certo jovem, acho que isso era outra observação que eu teria que colocar. Eu usei o termo cliente e servidor por uma questão de didática. Mas você pode fazer uma relação de confiança dupla, você pode fazer do servidor para o cliente e do cliente pro servidor. Bom digamos que o computador que tiver o arquivo id_dsa.pub consegue acessar o computador que tiver o arquivo authorized_keys. Então você deve criar uma chave pra cada computador.
:D



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts