SSH de PuTTy para o Debian “authorized_keys não é um arquivo regular” Erro

8

Não consigo me conectar do meu computador com Windows 7 usando PuTTy para um servidor Debian Squeeze recém-configurado usando autenticação de chave SSH RSA.

Eu recebo este erro ao executar o SSH no modo de depuração: User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file


O que eu fiz até agora:

  1. ssh-keygen -t rsa
  2. Definir frase secreta.
  3. Copiou o arquivo id_rsa.pub para ~/.ssh/authorized_keys
  4. Copiei o id_rsa para um arquivo de texto na minha máquina com Windows 7
  5. Importou a chave para puttygen.exe e converteu para .ppk arquivo de chave privada.
  6. Carregou esse arquivo de chave privada em pageant.exe e certificou-se de que os métodos de Autonication de autenticação do Connection- > SSH- > tivessem marcado a "Tentativa de autenticação usando o Concurso".
  7. Carregou o perfil.

Com base na FAQ do OpenSSH.org , alterei as permissões para o seguinte:

drwxr-xr-x 3 root   root   4096 Aug 13 14:16 /home
drwxr-xr-x 7 myuser myuser 4096 Aug 17 12:55 /home/myuser
drwx------ 3 myuser myuser 4096 Aug 17 13:24 /home/myuser/.ssh
drw------- 2 myuser myuser 4.0K Aug 17 13:23 /home/myuser/.ssh/authorized_keys
-rw------- 1 myuser myuser  396 Aug 17 13:17 /home/myuser/.ssh/authorized_keys/id_rsa.pub

Eu iniciei o modo de depuração no ssh e recebi o seguinte:

debug1: userauth-request for user myuser service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: test whether pkalg/pkblob are acceptable
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: temporarily_use_uid: 1000/1000 (e=0/0)
debug1: trying public key file /home/myuser/.ssh/authorized_keys
User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file
debug1: restore_uid: 0/0
Failed publickey for myuser from 10.1.1.1 port 50710 ssh2

Não sei o que mais verificar. Eu não configurei o SELinux nem nada. Qualquer idéia seria muito apreciada.

    
por nojak 17.08.2012 / 23:43

2 respostas

14

O problema é:

User myuser authorized keys /home/myuser/.ssh/authorized_keys is not a regular file

Parece que você criou um diretório chamado authorized_keys e colocou todos os seus arquivos-chave nele. É por isso que não está funcionando. authorized_keys é um arquivo normal e você pode colocar todas as suas chaves em ~/.ssh .

    
por 17.08.2012 / 23:46
7

O principal problema é que ~/.ssh/authorized_keys não deve ser um diretório. É um arquivo de texto que contém as chaves públicas anexadas uma linha após a outra.

Como você tem apenas uma chave, simplesmente mova o arquivo ~/.ssh/authorized_keys/id_rsa.pub para um local temporário, exclua o diretório ~/.ssh/authorized_keys e mova de volta o arquivo de chave pública, renomeando-o para ~/.ssh/authorized_keys . Agora você deve conseguir se conectar sem usar uma senha de login.

    
por 17.08.2012 / 23:51