SSH échoue pour un serveur Unix en raison de la double couche d'authentification

2

J'ai un serveur qui a double couche d'authentification. Cela signifie d'abord qu'un utilisateur doit se connecter à la boîte en utilisant son ID utilisateur, puis utiliser un identifiant de groupe pour accéder au dossier de développement (par exemple). Maintenant, j'ai un script qui utilise ssh pour copier un fichier dans le dossier de développement. Quelle devrait être la commande pour cela?

Les commandes ssh normales telles que " ssh $user@host $cmd$cmdest quelque chose cp ~user/Test.txt ~grp/" ne fonctionneront pas car nous utilisons l'identifiant de l'utilisateur pour copier dans le répertoire du groupe, ce qui n'est pas autorisé. Et si nous utilisons un identifiant de groupe pour vous connecter, l'autorisation lui sera refusée. Aucune suggestion?

Abhishek Anand
la source
J'ai la réponse ... Je peux utiliser rsh et modifier le fichier .rhosts sur une machine distante pour inclure l'adresse IP et le nom d'utilisateur de la machine source pour une connexion sans mot de passe.
Abhishek Anand
1
Un administrateur système soucieux de la sécurité ne devrait pas autoriser les commandes "r". Ils sont complètement insécurisés. Il y a de fortes chances que dès qu'ils découvriront que vous faites cela, ils seront fâchés contre vous. Je vous recommande de chercher une solution alternative.
Warren Young
Votre terminologie est très déroutante: il grps’agit apparemment d’ un utilisateur (en ce qui concerne le système), non? «Groupe» a un sens lié mais complètement différent. Comment les utilisateurs s'authentifient-ils grp? Il y a probablement une meilleure façon de faire ce que vous essayez de faire, mais cela dépend de ce que vous entendez par «utiliser un identifiant de groupe» et de la possibilité de changer cela.
Gilles
@Gilles Je voulais dire par supposition que j'ai un ID utilisateur = anand et que j'appartiens à une équipe xyz qui définit "abc" comme identifiant de connexion que tous ses membres peuvent utiliser sur tous les serveurs appartenant à l'équipe. Maintenant que ces serveurs sont compatibles DAP, la procédure consiste à se connecter d'abord avec «anand», puis avec su «abc». J'espère que la terminologie est plus claire maintenant.
Abhishek Anand

Réponses:

1

Le problème pourrait-il être que vous utilisiez ~/useret ~/grp(les deux étant des répertoires relatifs au répertoire de base de l'utilisateur connecté) au lieu de ~useret ~grp(signifiant les répertoires de base de deux utilisateurs différents)?

Il est un peu difficile de dire à partir de la description de votre problème quel est réellement le problème. Normalement, il semble que "utilisateur" devrait faire partie du même groupe que "grp" et que le répertoire devrait être accessible en écriture.

Restez à l'écart des commandes-r. SSH peut tout faire mieux et plus sécurisé.

MattBianco
la source
désolé pour la typo..il est cp ~ utilisateur / Test.txt ~ grp / erreur stupide .... mais par grp je veux dire un identifiant de groupe (teamid) utilisé par plusieurs personnes. Il n'a aucun lien avec l'utilisateur individuel.
Abhishek Anand
1

La meilleure solution serait d’utiliser des groupes pour les gérer - c’est à quoi ils servent. Au lieu d'attribuer le mot de passe au grpcompte pour l'équipe , créez grpun groupe et assurez-vous que tous les fichiers devant être accessibles à l'équipe appartiennent à ce groupe et disposent des autorisations de lecture et d'écriture du groupe (le cas échéant). L'utilisation de groupes présente de nombreux avantages, notamment la résolution immédiate de votre problème immédiat.

Si vous ne pouvez pas faire cela parce que votre patron l'a défini et qu'il est têtu, pouvez-vous au moins vous organiser avec autre chose que l'authentification par mot de passe pour accéder au sucompte? Par exemple, si vous pouvez ajouter votre clé publique ssh au compte de l’équipe ~/.ssh/authorized_keys, vous pourrez directement ssh. (Ce n'est pas un bon moyen de gérer les autorisations, mais vous abusez déjà du système en n'utilisant pas de groupes.)

Gilles
la source