Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Fedora 9 Sulphur com Gnome
Por jyulliano
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

SSH sem senha não funciona? Eis a solução
Linux user
Publicado por Fábio Berbert de Paula em 24/06/2007

Login: fabio, 6483166 pontos | Blog: https://twitter.com/fabiodovol
[ Hits: 7769 ]

SSH sem senha não funciona? Eis a solução

Depois de algumas semanas sem conseguir configurar meu notebook para acessar meus servidores remotos usando SSH sem senha, finalmente parei pra ler as páginas de manual e descobri o problema, que é bem simples por sinal. Testado em Debian, mas com certeza vale pras demais distribuições.

O problema

Partindo do princípio que você já sabe como configurar SSH sem senha (tem várias fontes sobre aqui no VOL), vou explicar resumidamente.

Estava criando o arquivo de identificação do meu desktop da seguinte forma:

$ ssh-keygen -t dsa

Daí ao responder a seguinte pergunta:

Enter file in which to save the key (/home/fabio/.ssh/id_dsa):

Eu mudava a localização padrão da chave, para por exemplo, notebook_dsa. No servidor remoto (192.168.0.100 neste caso) eu seguia os procedimentos normalmente:

$ scp notebook_dsa.pub 192.168.0.100:~/.ssh/
$ ssh 192.168.0.100


E lá (remotamente):

$ cat ~/.ssh/notebook_dsa.pub >> ~/.ssh/authorized_keys

Porém o acesso sem senha teimava em não funcionar. O problema é que o SSH ao tentar se autenticar procura pelos arquivos ~/.ssh/identity (para o protocolo 1) ou ~/.ssh/id_rsa e ~/.ssh/id_dsa (para o protocolo 2). Como notebook_dsa não é um dos caminhos padrão para o mesmo, ele se confundia e não autenticava.

Solução

Renomear a chave privada de notebook_dsa para id_dsa. A chave pública pode ter qualquer nome. Se não quiser renomear, pode tentar o acesso usando o parâmetro -i, por exemplo:

$ ssh -i ~/.ssh/notebook_dsa 192.168.0.100

Devem haver outras formas de contornar esse problema, mas essas já me foram o suficiente. :)

Um abraço.


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Restringindo o poder do super usuário
   Dica Linux recomendada Acesso externo - estação interna
   Dica Linux recomendada Protegendo o servidor SSH de ataque "brute force"
   Dica Linux recomendada Permitir/negar autenticação para determinados grupos
   Dica Linux recomendada THC-Hydra no GNU/Linux

Comentários
[1] Comentário enviado por ilacrose em 10/12/2007 - 00:27h:

SSH sem senha!


Olá Pessoal... o assunto é SSH (Secure Shell), um recurso utilizado normalmente para acesso remoto em servidores Linux através de uma conexão segura, ou seja, encriptada.

O serviço de SSH permite fazer o acesso remoto ao console de sua máquina. Em outras palavras, você poderá acessar sua máquina como se estivesse conectado localmente ao seu console (substituindo o rlogin e rsh). A principal diferença com relação ao serviço telnet padrão, rlogin e rsh é que toda a comunicação entre cliente/servidor é feita de forma encriptada usando chaves públicas/privadas RSA para criptografia garantindo uma transferência segura de dados.

A velocidade do console remoto conectado via Internet é excelente (melhor que a obtida pelo telnet e serviços r*) dando a impressão de uma conexão em tempo real (mesmo em links discados de 9.600 KB/s). A compactação dos dados também pode ser ativada para elevar ainda mais a velocidade entre cliente-servidor ssh. Além do serviço de acesso remoto, o scp possibilita a transferência/recepção segura de arquivos (substituindo o rcp).

Em conexões sem criptografia (rsh, rlogin), os dados trafegam de forma desprotegida e, caso exista algum sniffer instalado em sua rota com a máquina destino, todo o que fizer poderá ser capturado (incluindo senhas).

As principais características do SSH são:

. Conexão de dados criptografada entre cliente/servidor.
. Suporte a caracteres ANSI (cores e códigos de escape especiais no console).
. Suporte a PAM.
. Cópia de arquivos usando conexão criptografada.
. Suporte a ftp criptografado (sftp).
. Suporte a compactação de dados entre cliente/servidor.
. Controle de acesso das interfaces servidas pelo servidor ssh.
. Suporte a controle de acesso tcp wrappers.
. Autenticação usando um par de chaves pública/privada RSA ou DSA.

Agora que já sabemos um pouco sobre o SSH, vamos a um exemplo prático de utilização desse recurso, porém de uma forma diferenciada, “Sem Senha”.

Passos para configurar o SSH sem senha:

Instale o pacote do ssh

#apt-get install ssh

Em seguida, devemos criar uma chave de autenticação RSA para estar apto a logar em um site remoto de sua conta sem ter de digitar sua senha. Para isso execute o seguinte comando:

#ssh-keygen -b 1024 -t rsa

Será gerada uma chave privada e uma chave pública. Com versões antigas do SSH, essas chaves ficarão armazenadas em ~/.ssh/identity e ~/.ssh/identity.pub; com versões novas, serão armazenadas em ~/.ssh/id_rsa.pub. ~/.ssh/id_rsa e ~/.ssh/id_rsa.pub.

O comando irá solicitar também uma frase secreta.

Em seguida, adicone o conteúdo do arquivo da chave pública dentro de ~/.ssh/authorized_keys, para isso utilize o seguinte comando:

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

Feito isso, instale a chave pública no servidor remoto que deseja se conectar copiando o arquivo “authorized_keys” através do comando:

#scp ~/.ssh/authorized_keys usuario@ip_servidor:~/.ssh/

Após realizar o procedimento descrito acima, teste o acesso ao servidor:

$ssh usuario@ip_servidor

Dessa forma, será possível que você realize o acesso remoto a seu servidor, de uma forma segura sem a necessidade de senha.


ps. esse artigo não é de minha autoria, no entanto segui esses passos e funcionou tudinho aqui...
abração

Espero que sejá útil para todos.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.