Download do Programa IRPF 2010 (Imposto de Renda Pessoa Física) e Receitanet Java 2010 para o Mac OS X Snow Leopard!
Bate-papo

Desenvolvimento

Mac OS X

Mac OS X (lê-se Mac OS dez, e não Mac OS xis)

Servidor

Vídeo

Home » Mac OS X, Servidor

Acessar outro Mac via SSH sem senha: autenticação através de certificados RSA

O OpenSSH é talvez a ferramenta mais utilizada por administradores 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:

  • O cliente SSH vai enviar uma requisição para o servidor pedindo uma conexão
  • O servidor SSH vai pedir o certificado do cliente para garantir que o cliente realmente tem a permissão de se conectar
  • Quando receber o certificado, o servidor vai verificar em seu banco de dados se o certificado está correto. Caso esteja, a sessão será aberta.

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:

  • Enter file in which to save the key (/root/.ssh/id_rsa): Aqui você apenas define o diretório onde os certificados gerados serão armazenados;
  • Enter passphrase (empty for no passphrase): Você tem a opção de digitar uma senha para o certificado. Isso não é necessário, você pode simplesmente apertar “enter” aqui e na próxima pergunta, que apenas confirma a passphrase digitada anteriormente.

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

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

Deixe seu comentário!

Adicione o seu comentário abaixo, ou trackback a partir de seu próprio site. Você também pode subscrever a estes comentários via RSS.

Seja simpático. Mantenha-o limpo. Permaneça no tópico. Não faça spam.

Você pode usar estas tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Este é um blog que permite o registro de Gravatar universal habilitado. Para obter seu próprio avatar reconhecido globalmente, por favor registre-se em Gravatar.