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

Publicado por Fábio em 22/11/2012

[ Hits: 19.433 ]

 


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

Utilizando tar com ssh para backups sem ocupar espaço na máquina cliente

Reproduzir arquivos MP3 no Python

Comandao fácil: baixando blogs do Wordpress com o wget

Triggers para utilização de recursos do PostGIS

Bloqueando Skype em definitivo no IPtables

  

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