sexta-feira, 1 de março de 2013

SSH Conexao sem senha

Administrar servidores não é uma tarefa muito simples, e uma das tarefas mais difíceis é memorizar todos os usuários e senhas de acesso. Sorte que podemos contar com uma opção muito útil do SSH, a conexão via chave pública/privada.

Obs.: Para entender como funcionam as chaves públicas/privadas, sugiro a leitura deste artigo:


O primeiro passo é gerarmos as chaves. Este procedimento deve ser feito na máquina de onde será feita a conexão (cliente), para isso, vamos utilizar o seguinte comando:

Obs.: Usarei como exemplo o usuário "joao" para o cliente e "joao_servidor" para o servidor.

# ssh-keygen

Obs.: O tipo padrão para a criação da chave é RSA, porém, caso queira especificar o tipo da chave, basta adicionar ao comando o parâmetro: -t rsa

Depois de executar o comando acima, você será perguntado sobre o nome do arquivo, no nosso caso, deixaremos o padrão (/home/joao/.ssh/id_rsa) e vamos pressionar ENTER.

Logo depois você terá a opção de adicionar uma passphrase à sua chave, porém, toda vez que for conectar, será necessário digitar essa senha. No nosso caso, deixarei em branco para não precisar usar senha, sendo assim, basta pressionar ENTER duas vezes.

Pronto. Sua chave já foi gerada, para conferir basta entrar no diretório que escolhemos para salvar a chave (/home/joao/.ssh/id_rsa) e verificar se os arquivos "id_rsa" e "id_rsa.pub" foram criados.

Agora o que temos que fazer é passar a chave pública para o servidor SSH, porém, antes de mais nada, devemos verificar se no servidor há a pasta ".ssh" (o " . " indica que é um diretório oculto) dentro da HOME do usuário que usaremos para logar (no caso: joao_servidor), se não existir, devemos criar.

Depois do diretório criado, passamos o arquivo com o seguinte comando:

# scp /home/joao/.ssh/id_rsa.pub joao_servidor@server:/home/joao_servidor/.ssh

Pronto, o que tínhamos que fazer na máquina cliente já terminamos, agora devemos entrar no servidor SSH para terminarmos a configuração.

Já logado no servidor SSH, jogaremos nossa chave pública para o arquivo de autenticação:

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

Pronto, agora podemos voltar para a máquina cliente e testarmos a conexão com o seguinte comando:

# ssh joao_servidor@servidor

Se tudo correr bem, você logará no servidor sem ter que digitar a senha.

Nenhum comentário:

Postar um comentário