SSH do PuTTy para o Debian “okey_keys não é um arquivo regular” Erro

9

Não consigo conectar do meu computador Windows 7 usando PuTTy a 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. Defina a senha.
  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 Windows 7
  5. Importou a chave puttygen.exee a converteu em um .ppkarquivo de chave privada.
  6. Carregou esse arquivo de chave privada pageant.exee certificou-se de que os métodos Connection-> SSH-> Auth Authetication tivessem "Tentativa de autenticação usando Pageant" marcada.
  7. Carregou o perfil.

Com base nas perguntas frequentes 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

Iniciei o modo de depuração no ssh e obtive 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

Estou sem saber o que mais verificar. Não configurei o SELinux nem nada. Qualquer idéia será muito bem vinda.

terça-feira
fonte

Respostas:

15

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_keyse colocou todos os seus arquivos-chave nele. É por isso que não está funcionando. authorized_keysdeve ser um arquivo comum e você pode inserir todas as suas chaves ~/.ssh.

Michael Hampton
fonte
7

O principal problema é que ~/.ssh/authorized_keysnã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ê possui apenas uma chave, basta mover o ~/.ssh/authorized_keys/id_rsa.pubarquivo para um local temporário, excluir o ~/.ssh/authorized_keysdiretório e, em seguida, retornar o arquivo de chave pública renomeando-o para ~/.ssh/authorized_keys. Agora você deve conseguir se conectar sem usar uma senha de login.

Philippe Gauthier
fonte