SSH définir une IP spécifique pour un seul utilisateur

Je souhaite que cette restriction s'applique à un seul utilisateur

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

Je suis sur Debian, actuellement je me connecte à mon VPS avec objetvolant. Je souhaite rajouter une autorisation pour pouvoir me connecter à mon compte vanille seulement pour 127.0.0.1 (pour l’utiliser en port forwarding). Tout en laissant objetvolant accessible.

Je souhaite connaitre l’option adéquate, je n’ai pas trouvé comment configurer mon : /etc/ssh/sshd_config

Bon vol,

A.

Édité par A-312

✈️ // 🐺 Ami des loups // 🎮 Coding Game // 🐤 Twitter @A312_zds // :B // L’hiver vient // @**A-312** pour me ping

+0 -0

Cette réponse a aidé l’auteur du sujet

:/ RTFM :/

$ man sshd_config
 Match   Introduces a conditional block.  If all of the criteria on the Match line are satisfied, the keywords on the following lines override those set in the global section of the config file, until either another
        Match line or the end of the file.  If a keyword appears in multiple Match blocks that are satisfied, only the first instance of the keyword is applied.

        The arguments to Match are one or more criteria-pattern pairs or the single token All which matches all criteria.  The available criteria are User, Group, Host, LocalAddress, LocalPort, RDomain, and Address
        (with RDomain representing the rdomain(4) on which the connection was received.)

        The match patterns may consist of single entries or comma-separated lists and may use the wildcard and negation operators described in the PATTERNS section of ssh_config(5).

        The patterns in an Address criteria may additionally contain addresses to match in CIDR address/masklen format, such as 192.0.2.0/24 or 2001:db8::/32.  Note that the mask length provided must be consistent
        with the address - it is an error to specify a mask length that is too long for the address or one with bits set in this host portion of the address.  For example, 192.0.2.0/33 and 192.0.2.0/8, respectively.

        Only a subset of keywords may be used on the lines following a Match keyword.  Available keywords are AcceptEnv, AllowAgentForwarding, AllowGroups, AllowStreamLocalForwarding, AllowTcpForwarding, AllowUsers,
        AuthenticationMethods, AuthorizedKeysCommand, AuthorizedKeysCommandUser, AuthorizedKeysFile, AuthorizedPrincipalsCommand, AuthorizedPrincipalsCommandUser, AuthorizedPrincipalsFile, Banner, ChrootDirectory,
        ClientAliveCountMax, ClientAliveInterval, DenyGroups, DenyUsers, ForceCommand, GatewayPorts, GSSAPIAuthentication, HostbasedAcceptedKeyTypes, HostbasedAuthentication, HostbasedUsesNameFromPacketOnly, IPQoS,
        KbdInteractiveAuthentication, KerberosAuthentication, LogLevel, MaxAuthTries, MaxSessions, PasswordAuthentication, PermitEmptyPasswords, PermitListen, PermitOpen, PermitRootLogin, PermitTTY, PermitTunnel,
        PermitUserRC, PubkeyAcceptedKeyTypes, PubkeyAuthentication, RekeyLimit, RevokedKeys, RDomain, SetEnv, StreamLocalBindMask, StreamLocalBindUnlink, TrustedUserCAKeys, X11DisplayOffset, X11Forwarding and
        X11UseLocalHost.

Ce qui donne quelque chose comme :

AllowUsers objectvolant
DenyUsers vanille

Match Address 127.0.0.1
   AllowUsers vanille

Pas testé, juste en lisant la doc.

ache.one                 🦹         👾                                🦊

+0 -0
Auteur du sujet

J’arrête un peu de trop chercher par moi après 30 minutes quand je ne trouve pas une explication claire sur internet, après on me dit que je ne fais pas de la bonne façon ou que je me complique la vie. Je préfère demander ici.

Match Address 127.0.0.1
   AllowUsers vanille

A la fin du fichier + ssh -L 31245 localhost:31245 et non ssh -R !

Je n’ai pas compris pour quoi ce n’est pas ssh -R que je dois utiliser. Je pensais que "-R" c’était quand le serveur est distant.

✈️ // 🐺 Ami des loups // 🎮 Coding Game // 🐤 Twitter @A312_zds // :B // L’hiver vient // @**A-312** pour me ping

+0 -0

Cette réponse a aidé l’auteur du sujet

:s

ForceCommand execute une commande en lieu et place d’executer un shell.

Du coup, getent passwd $(id -un) | cut -d':' -f 7 est censée retourner quelque chose comme /bin/bash. Et ainsi executer un bash, et ce, seulement si le mot de passe est correcte.

Du coup, que donne le résultat de la commande getent passwd $(id -un) | cut -d':' -f 7 ? Si ça ne marche pas, tu peux la remplacer par un simple bash.

ache.one                 🦹         👾                                🦊

+0 -0

Cette réponse a aidé l’auteur du sujet

Euh … Ça ne me semble pas logique. Tu es sûr de ce que tu affirmes ?

Je veux dire, l’authentification PAM se fait avant, ForceCommand n’agit qu’après et ne devrait pas changer l’authentification.

Je teste demain, mais ça ne me semble pas logique.

ache.one                 🦹         👾                                🦊

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte