Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Logando com segurança num servidor ssh sem uso de senha
Colaboração: Gabriel Menezes Nunes
Data de Publicação: 04 de Agosto de 2005
Nesta dica ilustrarei como logar num servidor ssh sem uso
de senha, mas mantendo a segurança. Como farei isso? 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.
segue abaixo:
Criação das chaves
Exemplificando como se o usuário "gabriel" fosse aquele
para o qual você quer criar a chave (serve para qualquer
usuário).
Digite no console:
ssh-keygen -b 1024 -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:
Enter file in which to save the key (/home/gabriel/.ssh/id_rsa):
Aqui será especificado o local onde será criada as
chaves. O ideal é não alterar. Pressione ENTER.
Enter passphrase (empty for no passphrase):
Nesse ponto é que está o segredo!!! Aqui pedirá uma
'passphrase' que é uma 'frase-senha', mas como queremos
nos logar sem senha, aperte ENTER, e não coloque nada.
Enter same passphrase again:
ENTER de novo.
Your public key has been saved in /home/gabriel/.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 falta pouco para terminarmos... Digitando esse
comando:
scp id_rsa.pub gabriel@10.0.0.5:/home/gabriel/.ssh/
Será copiado nossa chave pública para o servidor. Não
esqueça, tem que 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), gabriel
é o usuário, 10.0.0.5 é 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':
mv id_rsa.pub authorized_keys (caso seja rsa)
mv id_rsa.pub authorized_keys2 (Olha o 2 aí)(caso seja dsa)
Dê um logout com 'exit': exit
E logue-se de novo e não pedirá mais a senha!!!!
Veja a relação completa dos artigos de Gabriel Menezes Nunes
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
- Currently 3.09/5
- 1
- 2
- 3
- 4
- 5
Avaliação:
3.1 /5
(797 votos)
Opinião dos Leitores
Augusto Cezar
19 Ago 2008, 18:16
Atentar para a versão instalada do ssh!!! Pois a versão mais recente deva funcionar com o dsa e rsa! Aqui só funcionou como rsa e para o arquivo authorized_keys que é o qual está configurado no /etc/sshd_config ... Falow
Francisco Neto
03 Jun 2008, 18:54
Funcionou legal !!
no meu caso como as maquinas tem o diretório /home compartilhado via NFS não é necessário copiar o arquivo .pub para o servidor, basta só renomeá-lo !
Thiago Menezes
25 Fev 2008, 14:17
ali ao final:
" mv id_rsa.pub authorized_keys (caso seja rsa)
mv id_rsa.pub authorized_keys2 (Olha o 2 aí)(caso seja dsa)"
não seria " mv id_dsa.pub authorized_keys2"?
vlw =)
Luiz Santana
08 Fev 2008, 16:43
crm, blz... cara???
mesmo assim aki nao funcionou...
ele so passa sem pedir senha na volta...
ex.: usando a maquina cliente eu entro no servidor e ele pede senha. apos ter acessado eu entro no cliente e ele passa sem senha....
vc sabe o q pode ser, cara...
preciso da sua ajuda....
grato,
Luiz Santana
Tomé
28 Jan 2008, 11:18
Errei a permissão! é 700
Tomé
28 Jan 2008, 11:09
cmr: verifique as permissões do diretório. O diretório tem que estar com o proprietário e o grupo corretos, além da permissão correta. As permissões a partir do HOME do usuário (inclusive o diretório /home/usuário) têm que ser 600 senão não funciona. Provavelmente a hora que vc (re)instalou ele mexeu nas permissões e deixou da maneira correta.
cmr
02 Dez 2007, 17:46
Consegui da seguinte forma:
Suponhamos que exista duas máquinas, um cliente e um servidor:
1) ambas devem estar com ssh daemon ativos: apt-get install ssh
2) cliente acessa servidor
Na máquina cliente digite os comandos:
ssh-keygen
Não digite nada no que se pede, apenas tecle <enter>
scp ~/.ssh/id_rsa.pub usuario_ou_root@ip_servidor:~/.ssh/authorized_keys
Para acessar:
ssh usuario_ou_root@ip_servidor
3) servidor acessa cliente:
Na máquina servidor digite os comandos:
ssh-keygen
Não digite nada no que se pede, apenas tecle <enter>
scp ~/.ssh/id_rsa.pub usuario_ou_root@ip_cliente:~/.ssh/authorized_keys
Para acessar:
ssh usuario_ou_root@ip_cliente
Se tudo estiver ok, nao pedira nem senha nem palavra chave.
_____________________
Fonte: http://tuxmasters.blogspot.com/2007/05/acesso-ssh-sem-precisar-digitar-senha-e.html
cmr
02 Dez 2007, 16:03
Não funcionou aqui! Pede senha o mesmo modo! o que pode ter acontecido?
Vinicius
10 Out 2007, 15:32
Funcionou corretamente. Muito obrigado.
Silveira Neto
27 Set 2007, 13:53
Muito bom. Funcionou de primeira, usando rsa, no caso eu usei o ssh-keygen sem passar nenhum parâmetro.
Funcionou legal mesmo. Valeu.
Eliezer
18 Set 2007, 10:00
realmente ele nao pede a senha, mas pede a frase !!
jailsonjan
04 Jun 2007, 08:59
ssh sem senha