6 votes

ssh plusieurs utilisateurs sur un même poste

Je veux permettre à certains utilisateurs de confiance de transférer des fichiers sur mon serveur (à un utilisateur spécifique), mais je ne veux pas donner à ces utilisateurs un domicile, ni une connexion ssh.

J'ai des difficultés à comprendre les paramètres corrects des utilisateurs/groupes que je dois créer pour que cela soit possible.

Je vais vous donner un exemple ;

Ayant :

  1. MyUser@MyServer
  2. MyUser appartient au groupe MyGroup
  3. La maison de MyUser sera, disons, la suivante, /home/MyUser
  4. SFTPGuy1@OtherBox1
  5. SFTPGuy2@OtherBox2

Ils me donnent leur id_dsa.pub et je l'ajoute à mon authorized_keys

Je pense donc que je ferais dans mon serveur quelque chose comme

useradd -d /home/MyUser -s /bin/false SFTPGuy1 (et la même chose pour l'autre..)

Et pour la dernière, useradd -G MyGroup SFTPGuy1 (et encore, pour l'autre gars)

Je m'attendrais donc à ce que les SFTPGuys puissent sftp -o IdentityFile=id_dsa MyServer et d'être emmené au domicile de MyUser...

Eh bien, ce n'est pas le cas... SFTP continue de me demander un mot de passe.

Quelqu'un pourrait-il m'indiquer ce que j'ai manqué ?

Merci beaucoup,

f.

[ EDIT : Messa sur StackOverflow m'a demandé si le fichier authorized_keys était lisible par les autres utilisateurs (membres de MyGroup). C'est un point intéressant, voici ma réponse :

En fait, il ne l'était pas (il était à 700), mais j'ai ensuite changé les permissions du répertoire .ssh et du fichier d'authentification à 750, mais toujours sans effet. Je pense qu'il est utile de mentionner que mon répertoire personnel ( /home/MyUser ) est également lisible pour le groupe ; la plupart des répertoires étant 750 et le dossier spécifique où ils déposeraient des fichiers étant 770.

Néanmoins, en ce qui concerne le fichier d'authentification, je pense que l'authentification serait effectuée par l'utilisateur local sur MyServer Si c'est le cas, je ne comprends pas la nécessité pour les autres utilisateurs de le lire... enfin... je me demandais juste... ]

0voto

Antoine Benkemoun Points 7284

Pourrait ce être une option ? Je ne suis pas sûr d'avoir bien compris votre problème mais je suis à peu près sûr que vous ne pouvez pas SFTP si votre utilisateur a /bin/false Shell.

0voto

jaamgans Points 304

Je pense que la voie la plus directe est d'accorder un compte à chaque utilisateur, mais de le configurer avec l'attribut rssh (restreint) Shell au lieu d'un Shell normal comme bash o ksh . C'est un pseudo-Shell utilisé avec OpenSSH et est conçu pour permettre uniquement des opérations comme scp , sftp . Vous pouvez lire la page de manuel pour une description complète. Vous pouvez ensuite configurer le système cible, les groupes et tous les répertoires "abandonnés" pour qu'ils soient aussi verrouillés que vous le souhaitez (par exemple, groupes "à usage unique", prison chroot, etc).

0voto

jeffreypriebe Points 1070

En parcourant le contenu, il semble qu'une solution serait de générer et de distribuer des clés pour chaque contexte particulier. Sur l'hôte de destination, vous pouvez mettre des limites sur ce que chaque clé peut faire dans le fichier authorized_keys incluant la commande. Ceci peut être trouvé dans la page de manuel de sshd_config.

L'exemple qu'il fournit est le suivant : (désolé pour le formatage)

Un exemple de fichier authorized_keys :

    # Comments allowed at start of line
    ssh-rsa AAAAB3Nza...LiPk== user@example.net
    from="*.sales.example.net,!pc.sales.example.net" ssh-rsa
    AAAAB2...19Q== john@example.net
    command="dump /home",no-pty,no-port-forwarding ssh-dss
    AAAAC3...51R== example.net
    permitopen="192.0.2.1:80",permitopen="192.0.2.2:25" ssh-dss
    AAAAB5...21S==
    tunnel="0",command="sh /etc/netstart tun0" ssh-rsa AAAA...==
    jane@example.net

-1voto

Nick McCurdy Points 420

Je ne pense pas qu'il y ait un moyen direct et facile de le faire à cause des permissions strictes que sshd applique, mais cela fonctionnerait-il de les configurer en utilisant des chroots ssh pointant tous au même endroit ? Cela les empêcherait également de pouvoir réellement interagir avec le système s'ils utilisent ssh au lieu de scp/sftp.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X