Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2353 connectés 

  FORUM HardWare.fr
  Programmation

  [PERL PHP] ouverture d'une séssion SSH

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PERL PHP] ouverture d'une séssion SSH

n°141781
fabriceMer​c
Posté le 21-05-2002 à 16:27:48  profilanswer
 

J'ai réalisé une interface pour gérer des serveurs DHCP.
pour rebooter le serveur DHCP par le biais d'une interface web il faut les droits root a l'utilisateur apache la solution simple serait que l'utilisateur du serveur web soit root.root mais cela pose des problemes evident de sécurités  
donc j'ai pensé que lorsque l'utilisateur clic sur un bouton cela ouvre une fenetre de connection (DOS ou TERM suivant OS) pour une séssion SSH il se logue et redemarre le serveur manuellement  
cela éviterai de faire tourner le serveur apache en root.
 
Le problème c'est que je ne sais pas si on peut faire ca et surtout comment je pourrai le faire, avec quel language .... (je sais coder en C Java PHP PERL mais bon je maitrise pas a fond.
 
merci les gars je pete un cable la  :pt1cable:

 

[jfdsdjhfuetppo]--Message édité par fabriceMerc le 21-05-2002 à 16:28:16--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 21-05-2002 à 16:27:48  profilanswer
 

n°142153
impulse
Posté le 22-05-2002 à 09:09:04  profilanswer
 

Hum... je me suis posé la meme question y'a pas longtemps. J'ai finalement contourné le pb : j'ai un agent SSH qui tourne sur mon serveur web avec des droits tres limités (copie de fichiers pas tres importants). Le user SSH est www (le user Apache), ce qui veut dire que n'importe quelle personne qui accede a mon site peut faire un peu ce qu'il veut comme l'agent tourne. Je sais pas si ds ton cas tu peux adopter le meme genre de solution.  
Pour ton cas, le probleme majeur est le suivant : l'envoi de la passphrase SSH du client -> serveur web. Tu ne peux pas te permettre de la balancer sans la crypter... Donc il faut que tu utilises SSL ou que tu trouves un prog qui se charge de ça (ça existe ???).
Fais une recherche sur Expect autrement...
 
hihi :p

n°142253
fabriceMer​c
Posté le 22-05-2002 à 10:51:31  profilanswer
 

Scuse mais j'ai pas tout compris, je veux que le script PHP ouvre une connection SSH en root pour que le serveur puisse etre redémarré.
 
merci
 
huhu :p

 

[jfdsdjhfuetppo]--Message édité par fabriceMerc le 22-05-2002 à 10:57:21--[/jfdsdjhfuetppo]

n°142263
impulse
Posté le 22-05-2002 à 11:00:35  profilanswer
 

Ok. J'ai peut etre pas été tres clair aussi... ;)
 
J'ai compris ce que tu veux faire.  
Pour ouvrir une session SSH il faut donner ta passphrase, on est d'accord ? Il faut donc que ta passphrase soit envoyé de ton client vers ton serveur web... et c'est justement la qu'il y a pb : il faut crypter cette connexion sinon qqun pourrait recuperer ta passphrase SSH en clair (je t'explique pas le massacre potentiel apres ;)). Il faut donc lancer ton serveur en mode https comme ça toutes les données qui transitent entre le client et le serveur web sont cryptées...
 
C'est plus clair ?
 
hihi :D
 
EDIT : pour le lancement de SSH en lui meme c'est tout con : en Perl tu fais un system (/usr/bin/ssh...);par exemple.

 

[jfdsdjhfuetppo]--Message édité par impulse le 22-05-2002 à 11:03:04--[/jfdsdjhfuetppo]

n°142274
fabriceMer​c
Posté le 22-05-2002 à 11:13:58  profilanswer
 

ok je comprends mieux  
 
mais je vois toujours pas comment faire pour qu'a partir d'un script PERL je me connecte (
system(/usr/sbin/ssh -l root IP)  
puis donner le mot de passe root
et enfin faire /etc/init.d/dhcpd restart).

 

[jfdsdjhfuetppo]--Message édité par fabriceMerc le 22-05-2002 à 11:14:33--[/jfdsdjhfuetppo]

n°142279
impulse
Posté le 22-05-2002 à 11:18:17  profilanswer
 

Citation :

ok je comprends mieux  
 
mais je vois toujours pas comment faire pour qu'a partir d'un script PERL je me connecte (  
system(/usr/sbin/ssh -l root IP)  
puis donner le mot de passe root  
et enfin faire /etc/init.d/dhcpd restart).  


 
Ah oui c'est vrai. J'avais oublié ça comme j'utilise un agent moi... Avec un simple pipe ça devrait etre bon, non ?
 
hihi :p

n°142286
fabriceMer​c
Posté le 22-05-2002 à 11:25:10  profilanswer
 

heuu pour le mot de passe il faut que je cherche comment le mot de passe spécifier en ligne de commande mais merci quand mm

 

[jfdsdjhfuetppo]--Message édité par fabriceMerc le 22-05-2002 à 11:25:34--[/jfdsdjhfuetppo]

n°142295
impulse
Posté le 22-05-2002 à 11:31:44  profilanswer
 

man ssh :  
 
-l login_name : specifies the user to log in as on the remote machine.
-W password : specifies the password of the user to log in as on the remote machine. This option can be used only if PasswordAuthentication is selected and its usage must be limited to batch usage when no other authentication method is possible.
 
hihi :p

n°142300
impulse
Posté le 22-05-2002 à 11:37:42  profilanswer
 

J'ai oublié quelque chose : il existe un module SSH pour Perl : Net::SSH.
 
hihi :p

n°142303
fabriceMer​c
Posté le 22-05-2002 à 11:40:56  profilanswer
 

ok je plonge dans mon livre perl mais par contre je ne dois pas avoir le  man que toi l'option -W n'est pas indiqué !

mood
Publicité
Posté le 22-05-2002 à 11:40:56  profilanswer
 

n°142309
fabriceMer​c
Posté le 22-05-2002 à 11:51:32  profilanswer
 

ok merci la c'est vraiment cool je pense m'en sortir ;
 
 
 
PERL c'est vraiment trop bien !

 

[jfdsdjhfuetppo]--Message édité par fabriceMerc le 22-05-2002 à 11:51:46--[/jfdsdjhfuetppo]

n°142324
snooper
Posté le 22-05-2002 à 12:24:17  profilanswer
 

sinon pour info il esxiste un applet JAVA SSH qui marche tres bien

n°142356
fabriceMer​c
Posté le 22-05-2002 à 13:01:17  profilanswer
 

Bah c'est déja tres simple comme ca:  
 
    use Net::SSH::Perl;
    my $ssh = Net::SSH::Perl->new($host);
    $ssh->login($user, $pass);
    my($stdout, $stderr, $exit) = $ssh->cmd($cmd);

n°142359
impulse
Posté le 22-05-2002 à 13:06:29  profilanswer
 

Citation :

Bah c'est déja tres simple comme ca:  
 
   use Net::SSH::Perl;  
   my $ssh = Net::SSH::Perl->new($host);  
   $ssh->login($user, $pass);  
   my($stdout, $stderr, $exit) = $ssh->cmd($cmd);


 
Il marche le module Net::SSH chez toi ? Moi j'ai essayé de l'installer pdt au moins une semaine et j'ai été obligé d'abandonner :( Ce put#%$@ de HP-UX voulait pas entendre parler de la librairie que Net::SSH utilise (Pari).
Il avait l'air bien ce module pourtant...
 
hihi :p

n°142372
fabriceMer​c
Posté le 22-05-2002 à 13:19:50  profilanswer
 

ben la j'essaye de l'installer avec CPAN (le truc style apt-get) mais je lutte un peu il arrive pas a se connecter aux serveurs FTP, faut que je regarde mieux.

n°142390
impulse
Posté le 22-05-2002 à 13:36:12  profilanswer
 

Citation :

ben la j'essaye de l'installer avec CPAN (le truc style apt-get) mais je lutte un peu il arrive pas a se connecter aux serveurs FTP, faut que je regarde mieux.


 
Moi j'avais tout fait a la main... au moins une 20aine de modules a installer avec toutes les dependances entre modules :(
Je n'ai pas eu de pb pour tous ces modules mais avec la librairie Pari => j'etais vert. Si le module CPAN fait tout a ta place : tant mieux. Sinon tu te tapes tous les README et t'installes tous les modules a la mano, comme moi ;)
 
T'utilises quoi comme OS ? Debian ?
 
hihi :p

n°142398
fabriceMer​c
Posté le 22-05-2002 à 13:41:19  profilanswer
 

ahhh alors tu vas etre content (je pense) telecharge le module CPAN sur perl.org tu le configure (c'est interactif en plus) et apres tu telecharge le tar.gz de net::ssh::Perl et la le bonheur c'est que CPAN installe toutes les dépendances (enfin presque) .
 
j'ai installé en plus Math::GMP et sa marche maintenant
 
 
personnellemet j'utilise debian mais la je suis au taf donc c'est RH7.2 .

n°142417
impulse
Posté le 22-05-2002 à 13:52:34  profilanswer
 

Citation :

ahhh alors tu vas etre content (je pense) telecharge le module CPAN sur perl.org tu le configure (c'est interactif en plus) et apres tu telecharge le tar.gz de net::ssh: erl et la le bonheur c'est que CPAN installe toutes les dépendances (enfin presque) .
 
j'ai installé en plus Math::GMP et sa marche maintenant
 
 
personnellemet j'utilise debian mais la je suis au taf donc c'est RH7.2 .


 
Voui voui, je connais le module CPAN. Le pb c'est que l'installation qui foire chez moi c'est celle de Math::GMP justement... ce module a besoin de Pari et j'arrive pas a compiler et installer Pari sur mon Unix. Enfin bon c'est pas grave, ça fait au moins 1 mois que je suis passé a autre chose ;)
Etant donné que j'utilise SSH/SCP seulement pour copier quelques fichiers et que j'ai un agent SSH, je peux faire un system (scp...); tout con.
 
Tant mieux si ça marche chez toi :)
 
[:impulse]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PERL PHP] ouverture d'une séssion SSH

 

Sujets relatifs
[PHP] différences avec fopen sur deux systemes différents.[PHP&JS] Passage de variables Php
[PHP]utiliser une chaine de caractères en nom de variables[PHP] comment fonctionne le magic quote runtime svp?
[PHP]Sortir toutes les années se trouvant dans une BD[PHP & MySQL] Intêret du mysql_free_result() ?
[PHP - MySQL] tableau ??[ PHP ] mon forum en ligne + questions
[PHP] Installation de la biblio GD[PHP - PERL] ouverture d'une session telnet/SSH
Plus de sujets relatifs à : [PERL PHP] ouverture d'une séssion SSH


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR