Autenticação de chave pública ssh
Se você costuma acessar hosts por ssh utilizando usuario e senha e ainda não conhece a autenticação de chave pública este post é para você.
Não vou entrar no mérito de vantagens e desvantagens, de forma rápida e prática pretendo ilustrar como criar e utilizar sua chave privada para autenticação ssh.
Pra criar uma chave pública e uma chave privada utilizamos o comando ssh-keygen
$ ssh-keygen -t dsa |
Tecle enter até criar as chaves, que deve ficar no diretório .ssh do seu home
$ ls -l ~/.ssh /home/seu_username/.ssh/id_dsa /home/seu_username/.ssh/id_dsa.pub |
Agora você precisa copiar o conteudo da chave pública para o arquivo authorized_key no diretório .ssh do servidor remoto. Há várias formas de se fazer isso, a mais fácil deve ser a seguinte.
$ ssh remote_user@remote_host "echo `cat ~/.ssh/id_dsa.pub` >> ~/.ssh/authorized_keys" |
Em uma linha, este comando se conecta ao host remoto e copia a chave publica para o arquivo correto. Provavelmente será necessário digitar a senha do seu usuario para logar.
Substitua remote_user pelo usuario que deve se logar no host remoto e, logicamente substituir remote_host pelo servidor onde deseja se logar.
Pode ocorrer de no servidor não existir o diretório .ssh no home do usuario remoto, para sanar isso rodo o comando que cria o diretorio se não existir.
$ ssh remote_user@remote_host mkdir -p .ssh |
É importante salientar que o servidor deve estar configurado para aceitar a autenticação de chave pública, que é configurado no arquivo /etc/ssh/sshd_config
# permite a autenticação por chave pública
PubkeyAuthentication yes
Se for necessário reconfigurar o servidor, deve-se restartar o serviço:
Para CentOS
$ svc -du /var/service/sshd/ |
Plus!
Criei um script que faz tudo isso, de uma vez só, precisando apenas substituir as variáveis que mencionei acima de usuario e host e pronto:
Espero ter ajudado.
Deixe um Comentário
Nenhum comentário »
RSS feed for comments on this post. TrackBack URL