O Login SSH Authorized_Key funciona somente em uma direção

0

Existem três arquivos na minha configuração:

id_rsa
id_rsa.pub
authorized_keys

authorized_keys tem uma cópia do conteúdo id_rsa.pub para permitir logins sem senha.

Esses arquivos foram copiados entre dois computadores. Se eu ssh do computer1 para o computer2, ele funciona. Se eu ssh de coputer2 para computer1, ele solicita uma senha. Alguém pode me dizer por que isso pode acontecer.

Além disso, ambos os sistemas estão executando o Ubuntu 10.04. Eu reinstalei os pacotes openssh-server em ambos os sistemas. Permissões dos arquivos são os mesmos. Os arquivos / etc / ssh sshd_config e ssh_config são os mesmos. Eu corri com -v -v -v e a única diferença entre as duas sessões, é que uma diz que a 'chave foi aceita pelo servidor', a outra apenas continua com o prompt de senha.

Então, o que mais resta verificar?

    
por cmcginty 20.06.2010 / 01:42

4 respostas

1

Você pode obter a saída de depuração do servidor parando o servidor e executando-o a partir da linha de comando:

sudo /usr/sbin/sshd -Dd

Isso me deu a seguinte saída, depois de tentar fazer login no meu outro computador:

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

Verificando meu diretório:

ls -l /home/user
drwxrwxr-x 142 user user 7.7K 06-19 15:45 /home/user/

As permissões corretas devem ser:

chmod 750 /home/user

Depois que eu fiz isso, agora está funcionando.

    
por 20.06.2010 / 03:54
0

Você adicionou a impressão digital do computador1 ao .ssh/authorized_keys no computador2?

Além disso, você não deve usar a mesma chave privada entre muitas caixas, pois enfraquece a segurança caso uma caixa seja quebrada. Pessoalmente eu uso uma chave por cliente por servidor.

    
por 20.06.2010 / 02:11
0

Uma coisa para checar além da resposta de Daenyth é a propriedade de arquivos e permissões dentro do seu diretório ~ / .ssh em ambos os computadores.

Verifique se você está definido como usuário para todos os arquivos desse diretório: chown *USERNAME*: ~/.ssh/*

Além disso, verifique se as permissões são tais que os arquivos são legíveis e graváveis pelo usuário, mas não acessíveis por grupo ou outro : chmod 600 ~/.ssh/*

    
por 20.06.2010 / 02:52
-1

O diretório home não pode ser mundial ou grupo gravável, e não apenas diretórios e arquivos .ssh, se o seu arquivo sshd_config tiver StrictModes = yes.

Teste mudando StrictModes = no e reinicie o daemon sshd

    
por 28.06.2010 / 08:21