faire un "su" dans une session SSH

faire un "su" dans une session SSH - Perl - Programmation

Marsh Posté le 02-08-2004 à 14:32:06    

Salut,
j'utilise ActiveState avec le module Net::SSH:W32Perl pour acceder
via SSH differentes machines UNIX. Ca marche tres bien pour executer  
une commande, par contre, une fois logger sur mon server SSH, je voudrai faire un "su" pour switcher de user, mais "su" demande un password que je ne sais pas envoyer avec Net::SSH:W32Perl.
Quelqu'un a deja fait ca ?
 
Merci.

Reply

Marsh Posté le 02-08-2004 à 14:32:06   

Reply

Marsh Posté le 02-08-2004 à 23:50:22    

pk tu te connecte pas direment avec le bon user

Reply

Marsh Posté le 03-08-2004 à 00:17:55    

au choix:
- sudo NOPASSWD
 - échange de clef et ssh en boucle locale

Reply

Marsh Posté le 03-08-2004 à 08:58:07    

Pour repondre a BurgerGold, je suis obligé de faire un su car ce login est bloqué en accés direct (raison de securité), on doit donc se logger avec son username/password puis faire un su.
 
Taz, c'est une solution, mais je pense pas que les admins seront d'accord. Voila en gros mon script :
 
use Net::SSH::W32Perl;
my $ssh = Net::SSH::W32Perl->new($server);
$ssh->login($login, $passwd);
# jusque la c'est OK
 
my($stdout, $stderr, $exit) = $ssh->cmd("su - ".$sulogin);
#Mais la c'est pas bon, car su prompt pour un password
# que je ne sais pas envoyer.

Reply

Marsh Posté le 03-08-2004 à 10:27:01    

ben refais un ssh c'est tout. je crois pas que les admins soient d'accord pour que tu code en dure le mot de passe dans ton script, fait un echange de clef et apres
 
ssh user@host command

Reply

Marsh Posté le 03-08-2004 à 11:35:28    

Je peux pas me connecter en direct avec le $sulogin, car il est bloqué par les admins (accés direct interdit), c'est pour ca que je dois d'abord me logger avec mon $login puis faire un su avec $sulogin.
 
Pour le mot de passe, c'est un parametre du script, rien n'est hardcodé.

Reply

Marsh Posté le 03-08-2004 à 11:37:17    

donc c'est hardcodé.
 
log toi avec ton login, puis fais un échange de clef pour pouvoir te connecter avec ssh autre_login@localhost sans saisie de mot de passe.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed