SSH sem senha!
Prezados Leitores,
Saudações Pinguianas a todos!
Nesta dica ilustrarei como logar num servidor ssh sem uso de senha, mas mantendo a segurança. Será usada criptografia assimétrica, que é baseada em uso de duas chaves: Uma pública e uma privada. A pública será colocada no servidor enquanto que a privada ficará em sua máquina. Esse tipo de logon é bastante usado caso você faça muito uso de scripts e não é boa idéia colocar a senha nesses tipos de arquivo.
O primeiro passo é criar as chaves! Exemplificando como se o usuário “henrique” fosse aquele para o qual você quer criar a chave (serve para qualquer usuário). Digite então no console:
ssh-keygen -b 2048 -t rsa
Esse comando chama o utilitário ‘ssh-keygen’ e diz para criar uma chave de 1024 bits e usando o algoritmo rsa. Para a chave ser criada deverá ter no mínimo 512 bits, mas 1024 é o suficiente para ter uma ótima segurança. Caso seu servidor use SSH versão 1 terá que ser usado o algoritmo rsa, mas se for versão 2 poderá ser usado tanto rsa como dsa. Caso use dsa, ficará assim: ssh-keygen -b 1024 -t dsa. Feito isso aparecerá no seu console a mensagem abaixo:
Enter file in which to save the key (/home/henrique/.ssh/id_rsa):
Não digite nada! Apenas pressione “enter”. Aparecerá a mensagem abaixo:
Enter passphrase (empty for no passphrase):
Na linha acima será especificado o local onde será criada as chaves. O ideal é não alterar. Pressione novamente “enter”.
Nesse ponto é que está o segredo! A linha abaixo pedirá uma ‘passphrase’ que é uma ‘frase-senha’, mas como queremos nos logar sem senha, apenas precione “enter” e não coloque nada.
Enter same passphrase again:
Depois de ter dado “enter”, aparecerá uma mensagem semelhante a essa:
Your public key has been saved in /home/henrique/.ssh/id_rsa.pub.
The key fingerprint is:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
Aparecendo isso que dizer que as chaves foram criadas com sucesso. (A ‘key fingerprint’ é diferente em cada caso). Agora faça o comando abaixo para copiar a chave para o servidor:
scp .ssh/id_rsa.pub [email protected]:/home/henrique/.ssh/
Não esqueça que deve ser a chave pública. A privada nunca sai de sua máquina. “scp” é o utilitário que irá copiar nossa chave, id_rsa.pub é a nossa chave (caso você tenha escolhido o algoritmo DSA, o nome será id_dsa.pub), henrique é o usuário, 192.168.254.1 é o servidor e finalmente o caminho para onde vai a chave.
Agora logando-se na máquina você perceberá que o servidor ainda pede a senha. O que temos que fazer é ir no diretório onde está a chave pública e mudarmos o nome para ‘authorized_keys’:
cd /home/henrique/.ssh/ mv id_rsa.pub authorized_keys (caso seja rsa) mv id_rsa.pub authorized_keys2 (caso seja dsa)
Agora, ajustamos as permissões:
cd /home/henrique/ sudo chmod go-w ~/ sudo chmod 700 ~/.ssh sudo chmod 600 ~/.ssh/authorized_keys chown henrique /home/henrique chown henrique /home/henrique/.ssh
Dê um logout com ‘exit’: exit
E logue-se de novo e não pedirá mais a senha!
Espero ter contribuído.
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes