(Débutant) Autoriser l'accès SSH d'un seul utilisateur client vers un seul utilisateur serveur

Tags: #<Tag:0x00007f509c7d5c50>

Bonjour,
C’est mon premier post sur ce forum, après plusieurs recherches et essais sans résultat

Voilà la situation, je souhaite établir une connexion SSH entre une machine 1 (serveur) et une machine 2 (client) de sorte à que seulement un utilisateur de la machine 2 (userMachine2) puisse se connecter à un utilisateur de la machine 1 (userMachine1) et rien d’autre
J’ai trouvé que AllowUsers « userMachine2@IPmachine1 » permet d’autoriser uniquement les utilisateurs de la machine 1 à se connecter à au compte userMachine2 si j’ai bien compris
Mais comment autoriser seulement userMachine1 à se connecter à userMachine2?

Je sais pas si j’ai été très clair, mais je vous remercie par avance pour votre aide

en qualité d’utilisateur avec ton login et ton passwd tu peux te connecter à distance sur ta session en utilisant la ligne de commande:

ssh -p user@

ton passwd te sera demandé et une fois renseigné tu accèdes à ta session. Un autre user ne peut pas avoir accès à ta session car il ne connait ni ton login ni ton passwd.

Il n’y a donc pas de moyen pour qu’une machine n’accepte une connexion provenant que d’un seul utilisateur en particulier ?

Bonjour,
si c’est possible, je n’ai jamais fait ça mais tu dois pouvoir faire ça en mettant une politique globale très restrictive (voire impossible) et une politique spécifique moins restrictive pour l’utilisateur choisi en utilisant un ‹ Match User › dans le fichier /etc/ssh/sshd_config de la machine serveur.

Bonjour,

Je ne suis pas sût de comprendre la question.
Comme cela a été dit précédemment tu peux restreindre les connexions à un ou plusieurs utilisateurs du serveur avec la directive AllowUsers. Mais, à ma connaissance tu ne peux pas restreindre la connexion à un utilisateur partciulier du client. Je n’en vois d’ailleurs pas l’interêt…

le seul moyen de bloquer l’accès à une seule machine, c’est d’utiliser /etc/hosts.allow et/ou /etc/hosts.deny, ou alors n’autoriser l’accès au SSH qu’à une seule machine en utilisant le pare-feu.

Non on peut aussi utiliser le sshd_config avec :
AllowUsers toto@hote_specifique
ou encore des directives Match

cf. man sshd_config.

1 J'aime

Par les droits de base (mdp ou clé).

Effectivement, bienvenue à toi.

Quand un client SSH se connecte à un serveur SSH, le serveur SSH n’a aucun moyen de s’assure du nom de l’utilisateur du client qui exécute la commande SSH. La seule façon de faire ça est de gérer l’authentification sur le serveur.
Tu peux utiliser des mots de passe plus forts ou utiliser une authentification par clefs publiques.

Non, la connexion par mots de passe n’est strictement pas recommandé, ni recommandable :stuck_out_tongue:

Absolument ! :smiley:

Non seulement c’est possible mais en plus tu peux aussi n’autoriser qu’une seule machine.
Le problème est quand la machine en question tombe en arrêt, tu ne peux plus joindre la machine serveur :wink:

Donc, pour autoriser un utilisateur c’est bien l’option AllowUsers.
Pour autoriser une machine - si je ne me trompe pas - c’est l’option Match Address, voire l’option plus délicate à utiliser pour un novice from="adresse-ip,nom-hote-FQDN"

Pour info, il est même possible de restreindre à un type de système d’exploitation qui cherche à se connecter…

Autrement, il est possible de restreindre la connexion vers cette machine serveur, par le biais de la modification des fichiers /etc/hosts.deny et /etc/hosts.allow mais aura un impact sur tous les services réseaux que pourrait diffuser la machine serveur en question !


Au minimum : AllowUsers toto@addresse-ip :wink:

1 J'aime

Pour préciser: où se trouvent les machines en terme d’architecture réseau.
Et pourquoi vouloir faire cette restriction (quel est le besoin initial)?