Forum Linux.général config ssh par clef uniquement ?

Posté par  .
Étiquettes : aucune
0
25
sept.
2005
Je me remets à vous pour une petite aide dans les possibilités que nous offre sshd.

Jusqu'à maintenant, tous mes utilisateurs unix pouvaient se connecter en ssh à l'aide d'un mot de passe, mais également d'une clef publique/privé de type RSA en protocole 2 pour ne pas avoir à le taper.

Maintenant, j'aimerai pouvoir interdire toute saisie de mot de passe, de faire en sorte que quoi que l'on saisisse, le mot de passe sera considéré comme incorrect. La seule possibilité de se connecter en ssh, sera à l'aide d'une clef publique/privé.

Les avantages sont nombreux, plus besoin de s'identifier manuellement pour intervenir sur le serveur, les méthodes de brute-force de cassage de mot de passe ne servirons plus à rien et finalement, très pratique pour les sauvegardes en temps réelles tel que rsync.

Voilà ce que j'ai trouvé pour faire ça uniquement au niveau du root (que je n'ai pas encore réussi à mettre en place) :

PermitRootLogin [Spécifie si root peut se connecter par ssh(1). L'argument est « yes », « without-password », « forced-commands-only » ou « no ». Par défaut « yes ».

Si cette option est réglée à «forced-commands-only », les connexions de root sont autorisées avec une authentification par clef publique, mais seulement si l'option "command" est spécifiée (ce qui peut être utile pour effectuer des sauvegardes à distance même si les connexions de root sont normalement interdites). Toutes les autres méthodes d'authentification sont désactivées pour root.

Ma question est, qu'est ce que l'option "command", est ce que le (1) correspond au premier protocole de Ssh, la v1 et est ce que l'on peut faire ça pour l'ensemble de tout les utilisateurs unix.

Si vous pouviez m'éclairer sur ça, ca serez sympathique.
  • # Type d'authentification

    Posté par  (site web personnel) . Évalué à 2.

    Je ne suis pas sûr de bien comprendre ce que tu cherches à faire.
    De quelle manière comptes-tu authentifier les personnes souhaitant se connecter ? Soit les personnes s'authentifient par login/mot de passe, soit on les reconnait avec leur clé public que l'on a stocké dans le fichier authorized_keys.

    Ce n'est pas une bonne idée d'authoriser les connexions en tant que root. Il faut à mon avis se connecter sous un autre utilisateur puis si vraiment il y a besoin acquérir les droits de root.
  • # ok

    Posté par  . Évalué à 1.

    Trouvé,

    il faut mettre : PermitRootLogin without-password

    Je pensai que "without-password" fesai une connexion au root sans mot de passe, donc en accès direct, une porte grande ouverte, mais en fait, pas du tout.

    Et pour le reste de mes users, je les bloque par : AllowUsers root
  • # Interdire les autres méthodes

    Posté par  . Évalué à 3.

    Si j'ai bien saisi ce que tu veux, il suffit d'interdire toutes les autres méthodes d'authentification que par clef RSA. Quelque chose du genre :

    Protocol 2
    PubkeyAuthentication yes
    HostbasedAuthentication no
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    KerberosAuthentication no
    PAMAuthenticationViaKbdInt no

    Puis "PermitRootLogin forced-commands-only" pour ta sauvegarde via rsync.


    Non ?
    • [^] # Re: Interdire les autres méthodes

      Posté par  . Évalué à 1.

      Bonne idée ça pour le Protocol, tu m'y fait penser, comme on n'utilise que du proto 2, autant retirer le 1, ca évite peut être une faille.

      Enfin de compte, on change un peu de politique, comme on est que deux admin, on se connecte obligatoirement root en DSA, et on bloque tout les autres user par la methode AllowUsers root.

      Je sais, c'est pas bien d'utiliser un compte root, mais comme c'est un serveur et non une machine où l'on ouvre tout et n'importe quoi et que l'on connais ce que l'on y ajoute, pas de soucis.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.