Tungado do MacOS Blog
Enviado por Rodrigo Calado em 6 de fevereiro de 2010 – 20:28

O OpenSSH é talvez a ferramenta mais utilizada poradministradores de sistemas atualmente. Quando de seu desenvolvimento, o objetivo dele foi substituir ferramentas inseguras como telnet, rlogin, etc. Ele permite que você se conecte de forma segura a qualquer dispositivo (como switches, roteadores, servidores Mac OS X, Linux, FreeBSD, OpenBSD,Solaris, etc.) que esteja executando um servidor SSH com suporte aos protocolos 1 ou 2.

A configuração

A autenticação vai acontecer assim:

Para isso, vamos começar gerando o certificado do cliente. Para isso execute o seguinte comando:

# ssh-keygen -t rsa -b 2048

O “ssh-keygen” não precisa necessariamente ser executado como root. Se a chave criada para o usuário “x” for reconhecida pelo servidor, o usuário “x” poderá logar como “root” no servidor, explico isso mais com mais detalhes adiante.

Executando o “ssh-keygen” será gerada uma chave RSA de 2048 bits (eu especifiquei na linha comando, mas não é necessário já que este é o padrão). O mínimo para o RSA é de 768 bits. Algumas perguntas serão feitas para você. Os valores exibidos entre “()” são os valores padrão e, se quiser mantê-los, basta pressionar “enter”, não precisa escrever a opção novamente:

Agora, temos que falar para o servidor que ele deverá aceitar esse certificado. Para isso, transferimos o certificado para o servidor de forma segura:

# scp /root/.ssh/id_rsa.pub root@192.168.1.104:/root

Isso irá copiar a chave pública do cliente para o servidor, no diretório /root. Agora, temos que adicionar esse certificado ao banco de dados que contém os certificados aceitos por esse servidor. No servidor, execute:

# cat id_rsa.pub >> /root/.ssh/authorized_keys

Vale lembrar que o diretório “.ssh” só existirá se você tiver utilizado o SSH pelo menos 1 vez, anteriormente (se ele não existir, pode criá-lo na mão). Caso o arquivo authorized_keys não exista, basta executar o comando citado acima.

Pronto! Agora você já pode se conectar ao servidor de uma forma absolutamente segura, sem medo que roubem a sua senha (já que você não a envia através da rede) e sem medo de ataques brute force (que são totalmente inofensivos contra autenticação baseada em certificados RSA).

Com qual usuário eu vou logar?

A autenticação via certificados pode ser utilizada para qualquer usuário válido no servidor, não apenas para o usuário root. Seguindo os passos descritos anteriormente, você poderá logar sem senha como root utilizando o seguinte comando:

$ ssh root@192.168.1.104

Isso, considerando que você não esteja executando este comando como root. Se estiver, basta:

# ssh 192.168.1.104

 

 
qrCode