ssh solicita senha apesar de ssh-copy-id

22

Estou usando a autenticação de chave pública em um servidor remoto há algum tempo para uso de shell remoto, bem como para montagens sshfs. Depois de forçar um um pouco do meu diretório sshfs, notei que o ssh começou a me pedir uma senha. Eu tentei limpar o remoto .ssh / authorized_keys de qualquer menção a máquina local, e eu limpei a máquina local de referências para a máquina remota. Em seguida, repeti meu id de cópia ssh, ele solicitou uma senha e retornou normalmente. Mas eis que, quando eu ssh para o servidor remoto ainda sou solicitado por uma senha. Estou um pouco confuso sobre qual poderia ser o problema, alguma sugestão?

    
por Aliud Alius 02.12.2010 / 05:05

8 respostas

23

O sshd fica estranho quanto a permissões em $ HOME, $ HOME / .ssh (ambos diretórios) e em $ HOME / .ssh / authorized_keys.

Uma das minhas caixas de linux acabou com as permissões drwxrwxrwx no meu diretório $ HOME. Uma caixa Arch linux absolutamente não logaria usando chaves públicas até que eu removesse a permissão 'w' para group, outra no meu diretório $ HOME.

Tente fazer com que $ HOME e $ HOME / .ssh / tenham permissões mais restritivas para grupo e outros. Veja se isso não deixa o sshd fazer suas coisas.

    
por 02.12.2010 / 15:48
5

As seguintes permissões são necessárias:

  • A pasta .ssh : 700 (drwx------)
  • A chave pública: 644 (-rw-r--r--)
  • A chave privada: 600 (-rw-------)
por 17.11.2014 / 23:03
4

Eu recentemente experimentei esse problema também.

Foi corrigido, modificando as permissões do diretório $HOME . No entanto, simplesmente executar chmod g-w ~/ não corrigiu o problema. Além de chmod g-w ~/ , também precisei modificar as permissões de others no diretório $HOME executando chmod o-wx ~/

Juntos:

chmod g-w ~/
chmod o-wx ~/

Observe que não tenho certeza se o-x foi necessário, simplesmente o executei como precaução.

    
por 13.10.2015 / 21:56
1

Alterar as permissões para a pasta ~ / .ssh resolveu meu problema de acordo com esta postagem no Super User SE .

    
por 24.01.2013 / 12:22
0

O problema também ocorre em logins paralelos, ou seja, se você tentar montar o sshfs enquanto estiver com uma sessão ssh aberta? Se não, então eu acho que você tem seu diretório home criptografado? Nesse caso, $HOME/.ssh/authorized_keys só se tornaria utilizável na máquina remota após seu primeiro login (usando sua senha).

Confira o link para obter uma explicação e a solução alternativa necessária.

    
por 27.05.2011 / 09:26
0

Eu colocaria isso como um comentário, mas provavelmente seria muito longo. Eu só queria acrescentar que ssh-copy-id tenta enviar a chave pública do local /.ssh dentro da sua pasta $HOME .

Se você estiver tentando ssh como root com uma chave pública (salve os comentários relacionados à segurança), ssh-copy-id pode estar tentando fazer login com a chave pública incorreta se sua variável $HOME estiver definida como outra coisa de /root (como ser definido para o diretório home do seu usuário normal), assim, o usuário root seria solicitado, porque a chave pública do root não está instalada no sistema remoto.

Você pode usar o seguinte one-liner para especificar a chave pública exata:

pub="$(cat /root/.ssh/id_rsa.pub)"; ssh user@remotehost "echo $pub >> .ssh/authorized_keys; chmod 700 .ssh; chmod 600 .ssh/authorized_keys"

Eu encontrei este cenário na natureza algumas vezes (incluindo esta manhã) e imaginei que tentaria colocar meus 2 centavos, apenas no caso de alguém se encontrar na mesma situação.

    
por 07.09.2017 / 20:04
0

Como outros colaboradores mencionados, isso provavelmente é um problema de permissão.

A melhor maneira de diagnosticar isso é reiniciar o daemon SSH no servidor remoto com a opção de depuração - geralmente a opção "-d". A mensagem do daemon do OpenSSH é muito explícita. Por exemplo, você verá mensagens como:

Authentication refused: bad ownership or modes for directory /some/path
    
por 07.09.2017 / 20:41
0

A razão pela qual a chave pública não estava sobrevivendo após a reinicialização foi que o diretório inicial do meu servidor estava criptografado. (você faz isso enquanto instala o servidor)

    
por 04.05.2018 / 00:40

Tags