lancer ssh pas seulement en root depuis un bash sur une machine distante [Réglé]

fgandi Membre non connecté
-
- Voir le profil du membre fgandi
- Inscrit le : 08/01/2013
- Groupes :
je cherche à automatiser le lancement d'un batch contenant une commande ssh pour sauvegarder des fichiers d'un serveur sur un autre. j'ai créé un utilisateur standard pour faire le job sur les deux serveurs. Je peux me logguer en ssh avec ce compte sur les deux serveurs. Je me loggue sur un serveur puis j'essaie de me connecter sur le second à partir de là. mais quand j'essaie de le faire , j'ai un message d'erreur : "-bash: /usr/bin/ssh:permission non accordée".
Où est ce que je peux donner à ce compte le droit d'utiliser ssh ? le droit à cet utilisateur ou le droit à cet interpréteur de commande ?
après un su root, je peux lancer la commande ssh sans soucis...
Des idées ? des pistes à me suggérer ? Merci.

XKomodor Membre non connecté
-
- Voir le profil du membre XKomodor
- Inscrit le : 08/01/2008
- Site internet
- Groupes :
-
Administrateur
Je ne comprends pourquoi tu veux lancer une "commande ssh" ?
Le principe c'est de lancer un serveur SSH sur la machine qui va accueillir les données puis faire le backup en utilisant rsync par exemple.
Sinon montre moi ton script pour voir ce que cela dit.
Merci


fgandi Membre non connecté
-
- Voir le profil du membre fgandi
- Inscrit le : 08/01/2013
- Groupes :
merci pour ton aide.
je précise le contexte. le serveur principal est en dmz. je veux synchroniser ses données avec un autre serveur à l'extérieur de la dmz, dans un intranet.
je n'ai pas accès physiquement aux serveurs : tous les deux ont sshd actifs et je me sers de cette voie pour me logguer sur les deux. J'y arrive sans soucis séparément.
Ce que je veux c'est lancer un rsync depuis le serveur en intranet en utilisant ce compte non root :
une commande du style
rsync -a --stats --update --delete-after --exclude=**~ -e "ssh -pxxx" /var/lib/mysql/ moncompte@monserveur_intranet:/home/moncompte/lib-mysql/
cette commande se passe bien si je la lance en root sur le serveur intranet. J'aimerai pouvoir la lancer avec un compte ayant moins de droit. est e que c'est plus clair ?

XKomodor Membre non connecté
-
- Voir le profil du membre XKomodor
- Inscrit le : 08/01/2008
- Site internet
- Groupes :
-
Administrateur
Et il te demande le mot de passe que tu renseignes et évidemment ça échoue ?
Merci


fgandi Membre non connecté
-
- Voir le profil du membre fgandi
- Inscrit le : 08/01/2013
- Groupes :

XKomodor Membre non connecté
-
- Voir le profil du membre XKomodor
- Inscrit le : 08/01/2008
- Site internet
- Groupes :
-
Administrateur
Houla !
Bon lorsque tu lances la dite commande, qu'as-tu comme message d'erreur ou le résultat de la commande ?
Merci


fgandi Membre non connecté
-
- Voir le profil du membre fgandi
- Inscrit le : 08/01/2013
- Groupes :
pour compléter le compte utilisé ne fait pas partie du groupe users. Est ce que cela pourrait expliquer pourquoi le lancement de ssh n'st pas accepté ?
Merci.

fgandi Membre non connecté
-
- Voir le profil du membre fgandi
- Inscrit le : 08/01/2013
- Groupes :
nos messages se croisent...
message d'erreur avec le compte non root : "-bash: /usr/bin/ssh:permission non accordée".

XKomodor Membre non connecté
-
- Voir le profil du membre XKomodor
- Inscrit le : 08/01/2008
- Site internet
- Groupes :
-
Administrateur
Bon essaie cela en début de ligne :
Code BASH :
rsync --rsh='ssh -pxxx' -ahz --stats --progress
puis le reste de ta commande.
Ensuite, on verra pour cette histoire de base de données qu'on ne "rsync" pas directement, il faut faire un "dump" avant cela.
On verra.
Sinon je me connecte sur l'IRC de MLO et passe faire un tour là.
Merci


fgandi Membre non connecté
-
- Voir le profil du membre fgandi
- Inscrit le : 08/01/2013
- Groupes :
après test en me basant sur ton code, c'est rsync qui me renvoie une erreur :
rsync: Failed to exec ssh : Permission denied (13)
Il faut avouer que j'essaie de faire un rsync un peu tordu puisque je demande à ce que la source soit sur l'autre serveur... Mais l'erreur semble arriver avant que le rsync puisse être lancé, donc au lancement de ssh...
après un su root, ce rsync passe sans problème :
rsync -av -e "ssh -pxxx" moncompte@serveurproduction:/var/lib/mysql/ /home/moncompte/sauve/lib-mysql/
ce qui semble montrer que le rsync peut bien se faire même sans passer par rsh...
Trop tard pour passer sur irc mais je te remercie beaucoup pour tes efforts. Je reviendrais demain soir après avoir fait quelques autres tests...

XKomodor Membre non connecté
-
- Voir le profil du membre XKomodor
- Inscrit le : 08/01/2008
- Site internet
- Groupes :
-
Administrateur
Oki on regarde demain si tu veux.
Merci


fgandi Membre non connecté
-
- Voir le profil du membre fgandi
- Inscrit le : 08/01/2013
- Groupes :
je continue de fouiller le net et de comparer les fichiers de configuration du serveur avec d'autres. Je me suis rendu compte que différents répertoires ont un groupe affecté différent du "standard" :
/etc
/home
/sbin
/bin
/usr
normalement on a comme propriétaire root.root ; sur le serveur on a root.adm
est ce que cela pourrait expliquer le refus d'exécuter /etc/bin/ssh en bash par le compte utilisé ?
Je précise que Msec n'est pas activé actuellement mais il l'a été quand j'ai fait des tests. En cherchant un peu, j'ai trouvé que cette organisation des droits correspond aux permissions de la configuration secure de msec... peut être l'origine de mon problème ???
Édité par fgandi Le 09/01/2013 à 15h27

fgandi Membre non connecté
-
- Voir le profil du membre fgandi
- Inscrit le : 08/01/2013
- Groupes :


XKomodor Membre non connecté
-
- Voir le profil du membre XKomodor
- Inscrit le : 08/01/2008
- Site internet
- Groupes :
-
Administrateur
C'est moi qui te remercie d'être venu sur l'IRC de #MLO : on a gagné un temps considérable et merci à toi de ta sympathie.
Merci

Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie