Bonjour à tous,
Tout d'abord, désolé si ce topic n'est pas au bon endroit !
Voici mon problème :
J'exécute un programme sur un serveur qui va connecter à un ou plusieurs autres serveurs. Le programme va exécuter X commandes systèmes et X commandes SQL sur les différents "autres serveurs". Jusque là tout va bien, les connexions fonctionnent, les commandes comme pwd, ls & co passent.
Cependant, lorsqu'un utilisateur veut passer une commande qui nécessite l'utilisation d'une variable d'environnement ça coince !
J'ai poussé un fichier sur chaque "autre serveur" un wrapper.sh qui me permet de sourcer le .profile. Il contient :
Voici ma connexion en SSH :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #!/bin/sh source ~/.profile
Ca fonctionne pas mal cependant ça ne marche pas pour les variables d'environnement. Avez-vous une idée de comment faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 sub connexionSSH { ($host) = @_; $ssh = Net::OpenSSH->new($host, user => $user, password => $password, master_stderr_discard => 1); $ssh->error and die "unable to connect to remote host : ".$ssh->error; }
Merci d'avance !
Partager