Autenticação sem senha não está funcionando

0

Estou tentando configurar uma autenticação sem senha entre meu servidor da Web e o & um servidor de relatórios usando as etapas abaixo. Ele funciona bem no meu ambiente de desenvolvimento, no entanto, no ambiente do cliente não funciona.

Etapas:

Como usuário testUser no servidor da Web:

mkdir ~/.ssh

cd ~/.ssh

ssh-keygen (use default file location and empty passphrase)

ssh-keygen -t dsa (as before)

Transfira as chaves públicas geradas para o servidor de relatórios.

Como usuário testUser -

sftp testUser@<ReportServerName>

put id_dsa.pub

put id_rsa.pub

quit

Siga as etapas abaixo no servidor de relatórios.

Como usuário testUser

mkdir ~/.ssh

cd ~/.ssh

cat ~/id_rsa.pub >> authorized_keys

cat ~/id_dsa.pub >> authorized_keys2

rm ~/id_*.pub

chmod 644 auth*

Como usuário root     vi / etc / ssh / sshd_config

Descomentar "PubkeyAuthentication yes"

/etc/init.d/sshd restart

Depois de seguir estes passos quando tento usar um sftp testUser @ ele ainda me pede uma senha.

Alguém pode ajudar?

    
por Sameer 07.07.2016 / 12:33

2 respostas

2

Existem várias armadilhas possíveis aqui. Como você mesmo criou os diretórios, as permissões podem estar erradas.

As seguintes permissões são obrigatórias :

  • O diretório ~/.ssh não deve ser legível por ninguém além do proprietário, portanto, geralmente chmod 700 . não deve ser gravável por ninguém além do proprietário.
  • Arquivos de chave privada não devem ser legíveis ou graváveis por qualquer pessoa, exceto o proprietário, portanto, geralmente chmod 600 . ssh-keygen já faz isso por você.
  • O arquivo ~/.ssh/authorized_keys não deve ser gravável por ninguém além do proprietário, pelo menos em chmod 644 . (Chaves públicas não são secretas - por definição!)

Em caso de dúvida: Execute sshd no modo de depuração. Ele ficará ligado ao terminal:

sudo /usr/bin/sshd -p 2222 -d

Em seguida, conecte-se ao seu cliente, na porta 2222:

ssh -p 2222 my-ssh-server

O servidor registrará qualquer erro encontrado. Pode ser algo assim:

Authentication refused: bad ownership or modes for directory /home/fuzzy/.ssh

    
por 07.07.2016 / 15:29
0

Existem várias etapas de depuração:

  • Verifique os registros nos dois lados. /var/log/auth.log .
  • Execute sua conexão ssh no modo detalhado ssh -v .
  • Verifique o acesso de cada diretório de ~/.ssh a '/'. Nenhum desses diretórios pode ser ou outro gravável.

Você pode testar o acesso com essas duas linhas. (Assume que permissões de root estão OK).

cd ~/.ssh; DIR=$PWD
while [ $DIR != '/' ]; do ls -ld $DIR; DIR=$(dirname $DIR); done
    
por 07.07.2016 / 15:14

Tags