Onde preciso colocar minha chave pública rsa no servidor para permitir a autenticação ssh sem senha?

0

Eu tenho tentado fazer o ssh funcionar sem uma senha em um servidor Linux. Eu tenho visto muitos tutoriais, mas não tenho uma compreensão fundamental de alguns conceitos-chave.

Eu tenho uma chave pública rsa antiga que gerava no meu servidor cliente, que estou tentando usar. Faço logon no servidor Linux e adiciono minha chave rsa pública a /home/user/.ssh/authorized_keys. Ainda sou solicitado a fornecer uma senha ao tentar efetuar login.

A minha pergunta é se é ou não o ficheiro correcto authorized_keys para adicionar a minha chave. Parece estranho que eu o coloque no meu próprio diretório de usuários, mas a maioria das explicações que vi na configuração do ssh me diz para colocar minha chave pública em ~/.ssh/authorized_keys .

Como pergunta de acompanhamento, a chave pública que gerei anos atrás no meu cliente é meu identificador para todas as conexões shh ou preciso gerar uma nova?

UPDATE Os erros que estão sendo registrados são lidos

trying public key file /home/bsayegh/.ssh/authorized_keys
Authentication refused: bad ownership or modes for file /home/bsayegh/.ssh/authorized_keys

As permissões no arquivo / diretório são:

-rwxrwxrwx. 1 bsayegh root     401 May 24 14:30 authorized_keys
 drwx------. 2 bsayegh root    4096 May 24 14:30 .
 drwx------. 3 bsayegh bsayegh 4096 May 25 11:38 ..
    
por bsayegh 01.06.2016 / 17:18

1 resposta

2

Se você tiver acesso aos arquivos de log da máquina que deseja ver neles. Especialmente /var/log/messages e /var/log/secure . Normalmente, você encontrará uma mensagem por que o sshd não aceitou sua autenticação de chave pública.

Em geral, você precisa fazer o seguinte

  1. verifique se o sshd permite autenticação de chave pública (consulte /etc/ssh/sshd_config ) - acho que isso é padrão, pelo menos você deve verificar se as opções, como RSAAuthentication e PubkeyAuthentication não estão explicitamente desativadas.

  2. chown -R ***(your user name)*** ~/.ssh - você possui a pasta

  3. chmod 700 ~/.ssh - somente você deve ter acesso à pasta .ssh. O sshd impõe isso não permitindo o acesso se este não for o caso.
  4. chmod 600 ~/.ssh/id_rsa - o mesmo que para a pasta. Isso é necessário para qualquer chave privada que você queira usar
  5. chmod 600 ~/.ssh/authorized_keys - alguns daemons sshd exigem isso para adicionar um pouco mais de segurança, não permitindo que outros saibam quais chaves precisam roubar
  6. restorecon -R ~/.ssh - quando o seu sistema tiver o SELINUX ativado para configurar os atributos para tornar os arquivos acessíveis ao daemon sshd; verifique com ls -Z ~ / .ssh para ver alguns atributos relacionados a ssh nos arquivos, por exemplo, ssh_home_t em sistemas RedHat

edit (2016-06-07) - adicione mais algumas regras

    
por 01.06.2016 / 17:41

Tags