Configurar chave pública SSH autorizado para usuários não-root

7

Consegui configurar o login do ssh usando chaves públicas para usuários root e tentei aplicar a mesma lógica para usuários não-root. Eu tentei resolver este problema em vão. Estou usando o centos tanto para minha máquina local quanto para o servidor remoto.

Aqui está uma essência do meu arquivo sshd_config no meu servidor remoto,

RSAAuthentication yes
PublicKeyAuthentication yes
AuthorizedKeysFile /etc/ssh/user/authorized_keys

PasswordAuthentication no

UsePAM no

PermitRootLogin without-password

Mudei o arquivo de minhas chaves autorizadas da home do usuário para / etc / ssh / user / authorized_keys enquanto lia sobre criptografia de dir home em centos.

Eu também alterei a propriedade de todos os arquivos / dirs associados ao usuário não root.

Não tenho certeza do passo que estou faltando na minha configuração, pois a mesma configuração funciona muito bem para logins remotos de root.

    
por user2887201 17.11.2013 / 04:34

2 respostas

7

Remova a entrada authorized_keys no seu arquivo de configuração. Reinicie o sshd. Crie um diretório .ssh no diretório inicial do usuário não root. Coloque a chave em um arquivo chamado ~ / .ssh / chaves autorizadas. Faça o diretório 0700 e o arquivo authorized_keys 0644. Faça o mesmo com o usuário root.

    
por 17.11.2013 / 05:17
2

Só para ficar claro, você precisa do arquivo-chave PUBLIC (por exemplo, ~ / .ssh / id_rsa.pub) da máquina de origem para estar em ~ / .ssh / authorized_keys na máquina de destino.

Se você copiar ~ / .ssh / id_rsa, isso não funcionará. O sshd moderno também insistirá em que o ~ / .ssh seja o modo 700 e que o ~ / .ssh / authorized_keys seja o modo 600 na máquina de destino.

Afora: se você puder, use o sudo em vez de permitir logins de root em ssh.

    
por 23.11.2013 / 08:55