Beaucoup de questions différentes (séparées) ici ...
Considérations pratiques
Pour utiliser la même paire de clés pour plusieurs utilisateurs, vous pouvez simplement copier le contenu (tout ou partie) de ~/.ssh/authorized_keys
dans un autre utilisateur ${HOME}/.ssh/authorized_keys
fichier. Vous devez vous assurer que les autorisations sur le .ssh
répertoire et authorized_keys
fichier sont suffisamment serrés ou le serveur SSH peut générer une erreur et refuser de le traiter. Pour une idée: seul l'utilisateur actuel a besoin d'accéder à ces fichiers et il n'est pas nécessaire qu'ils soient capables de les écrire ou de les exécuter. Une autorisation de 400 pour le fichier et de 500 pour le répertoire (elle doit être exécutée pour que vous puissiez énumérer son contenu) devrait bien se passer. Voir ici pour plus d'informations sur les masques de permission si vous n'êtes pas familier.
Considérations de sécurité
Tout d'abord, il est toujours judicieux de désactiver entièrement la connexion root via SSH et de définir un mot de passe root (sécurisé) distinct sur la boîte. sudo
est à peu près le même niveau de sécurité que su
si vos utilisateurs sudoers ont des mots de passe sécurisés; sinon ce n'est pas le cas.
Si vous avez souvent besoin de root, vous devez rechercher des moyens pour donner aux utilisateurs des autorisations spécifiques et ciblées afin de satisfaire les cas d'utilisation les plus courants de l'utilisation du serveur. Cela réduira le besoin de se connecter en tant que root, ce qui représente toujours un risque élevé en raison des autorisations très ouvertes.
Pour renforcer votre serveur SSH, vous devez:
- Remplacez son port 22 par défaut par un numéro à 5 chiffres (inférieur à 65 536, car le numéro de port est une valeur de 16 bits)
- Désactiver la connexion SSH basée sur un mot de passe pour tout utilisateurs (pas seulement root)
- Utilisez des paires de clés fortes avec des clés privées 2048 bits ou 4096 bits. Toujours utiliser RSA, pas les algs plus faibles tels que DSA.
- Définissez des mots de passe forts pour tous les sudoers ainsi que pour les utilisateurs root.
La question de savoir s'il faut réutiliser la même paire de clés disparaît si vous désactivez la connexion root. Si vous avez besoin de plusieurs utilisateurs normaux et que vous êtes le seul être humain à se connecter au serveur, je ne vois pas de mal à réutiliser la même paire de clés en copiant le fichier allowed_keys. Si vous avez plusieurs locataires dans la boîte, chaque personne doit avoir sa propre paire de clés.
Pour avoir l’authentification pour plusieurs utilisateurs, ajoutez simplement la clé publique SSH à la fois aux utilisateurs normaux.
~/.ssh/authorized_keys
fichier et à la racine~/.ssh/authorized_keys
fichier. Ensuite, vous pouvez sélectionner le compte auquel vous connecter en choisissant le nom d'utilisateur dans votre programme client.Il était généralement préférable de désactiver complètement la connexion root et de toujours utiliser un utilisateur normal pour se connecter et utiliser
sudo
ousu
. Cependant, avec l’authentification par clé publique, le risque que quelqu'un vous force brutalement à forcer votre clé est minime. Si vous ne définissez pas de mot de passe pour l'utilisateur root, beaucoup de gens diront qu'il est correct de se connecter en tant que root. Si vous souhaitez ajouter une couche de sécurité, désactivez la connexion root, définissez un mot de passe pour un utilisateur normalsudo
vous le demande lorsque vous l’utilisez) et utilisez une authentification à clé publique pour permettre à l’utilisateur normal de se connecter.la source
Merci beaucoup! Donc j'ai:
De cette façon:
Maintenant, l'accès à SSH devrait être sûr à 99%, non?
Merci beaucoup
la source