web-dev-qa-db-fra.com

Configuration de la clé publique autorisé SSH pour les utilisateurs non root

J'ai pu configurer SSH Connexion à l'aide des touches publiques pour les utilisateurs de racines et essayé d'appliquer la même logique pour les utilisateurs non-racines. J'ai essayé de résoudre ce problème en vain. J'utilise Centos pour ma machine locale et mon serveur distant.

Voici un gist de mon fichier sshd_config a un serveur mon télé distant,

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

PasswordAuthentication no

UsePAM no

PermitRootLogin without-password

J'ai déplacé mon fichier clés autorisé de la maison de l'utilisateur à/etc/ssh/user/autorisé/autorisé comme je l'ai lu sur le cryptage Home Dir dans Centos.

J'ai également changé la propriété de tous les fichiers/DIRS associés à l'utilisateur non root.

Je ne sais pas à quelle étape je suis manquant dans ma configure car la même configuration fonctionne très bien pour les connexions racines à distance.

7
user2887201

Supprimer l'entrée autorisée_keys dans votre fichier de configuration. Redémarrer sshd. Faites un répertoire .sh dans votre répertoire de base d'utilisateur non root. Mettez la clé dans un fichier appelé ~/.SSH/clés autorisées. Faites le répertoire 0700 et le fichier Authorized_Keys 0644. Faites de même pour l'utilisateur root.

7
dmourati

Juste pour être clair, vous avez besoin du fichier de clé publique (par exemple ~/.ssh/id_rsa.pub) de la machine d'origine pour être dans ~/.SSH/Autocorisé_keys sur la machine de destination.

Si vous copiez sur ~/.SSH/ID_RSA, alors cela ne fonctionnera pas. SSHD moderne insistera également sur ~/.ssh étant le mode 700 et ~/.SSH/authentifié_keys étant le mode 600 sur la machine de destination.

De côté: si vous le pouvez, utilisez sudo au lieu de permettre des connexions racines sur SSH.

3
Bill McGonigle