Warning: count(): Parameter must be an array or an object that implements Countable in /home/luiscoms/www/blog/wp-includes/post-template.php on line 293

Warning: count(): Parameter must be an array or an object that implements Countable in /home/luiscoms/www/blog/wp-includes/post-template.php on line 293

Warning: count(): Parameter must be an array or an object that implements Countable in /home/luiscoms/www/blog/wp-includes/post-template.php on line 293

Warning: count(): Parameter must be an array or an object that implements Countable in /home/luiscoms/www/blog/wp-includes/post-template.php on line 293

Warning: count(): Parameter must be an array or an object that implements Countable in /home/luiscoms/www/blog/wp-includes/post-template.php on line 293
jun
20
2014

Autenticação de chave pública ssh

PublicKey Authentication SSH

PublicKey Authentication 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.

Written by Luis com S in: Posts Rápidos |

Deixe um Comentário

Loading Disqus Comments ...
Loading Facebook Comments ...

Nenhum comentário »

RSS feed for comments on this post. TrackBack URL


Leave a Reply


Time limit is exhausted. Please reload CAPTCHA.

Design: TheBuckmaker.com Web Templates