GNU/Linux >> Tutoriels Linux >  >> Linux

Un emplacement central pour les clés autorisées est-il une bonne idée ?

Solution 1 :

Tous les fichiers de clés peuvent être centralisés dans un même répertoire et non mélangés dans un même fichier.

Configurez simplement le sshd_config fichier comme celui-ci :

AuthorizedKeysFile  /etc/ssh/authorized_keys/%u

Sur votre serveur :

  • Les clés www-data seront en /etc/ssh/authorized_keys/www-data
  • les clés racine seront en /etc/ssh/authorized_keys/root

Concernant les droits d'accès, ces paramètres sont acceptés par sshd :

/etc/ssh/authorized_keys appartient à root:root et a le mode 755. Les fichiers clés appartiennent à root:root et avoir le mode 644.

D'autres modes peuvent fonctionner mais je ne les ai pas testés.

Solution 2 :

En règle générale, je ne ferais pas ce que vous suggérez. Cela brise les hypothèses courantes (comme ~/.ssh/authorized_keys travailler pour vos utilisateurs et introduit des problèmes que vous avez déjà mentionnés dans votre question. Si vous constatez des problèmes flagrants avant la mise en œuvre, cela signifie que votre solution n'est pas idéale.

En termes de sécurité, je pense aussi que c'est un TERRIBLE idée de partager un compte de service avec tout le monde :pour le moment, c'est juste vous, et vous savez que c'est vous qui apportez les modifications. Dans 5 ans, lorsque vous aurez 5 administrateurs, vous voudrez savoir qui a changé quoi et fouiller dans les journaux d'audit pour voir qui a utilisé quelle clé quand c'est une douleur royale.
Il vaut mieux que les gens se connectent eux-mêmes et utilisent sudo ou quelque chose de similaire pour augmenter leurs privilèges et faire tout ce qu'ils doivent faire.

Si vous souhaitez toujours centraliser les clés SSH, je vous suggère de rechercher un système de déploiement comme Puppet ou radmind pour gérer/distribuer le authorized_keys fichiers au ~user/.ssh/ approprié répertoires (ou pirater une solution maison qui les met en place).
Au fur et à mesure que vous développez plusieurs serveurs, vous voudrez peut-être consulter le correctif de clé publique LDAP pour les anciennes versions d'OpenSSH (ou le AuthorizedKeysCommand directive et un script approprié dans la nouvelle version d'OpenSSH) ainsi que vous pouvez centraliser vos utilisateurs et ne pas avoir à distribuer leurs clés sur tout votre réseau, mais cela risque d'être assez long pour vous.


Linux
  1. Comment configurer les privilèges Sudo pour l'utilisateur sous Linux

  2. Espace réservé pour la racine sur un système de fichiers - Pourquoi ?

  3. Le @reboot de Crontab ne fonctionne que pour Root ?

  4. Emplacement de .bashrc pour Bash sur Ubuntu sous Windows dans Windows 10

  5. le mot de passe root ne fonctionne pas pour su dans le terminal

11 exemples de commandes Split utiles pour les systèmes Linux

Générer des clés SSH pour une connexion sans mot de passe dans Ubuntu

Est-il possible pour root d'exécuter une commande en tant que non root ?

Module IPTables ip_tables introuvable pour la racine

déterminer ulimit pour l'utilisateur root

Comment configurer ssh sans mot de passe avec des clés RSA