[Apache/SSH] agent SSH pour utilisation dans appli web

agent SSH pour utilisation dans appli web [Apache/SSH] - Linux et OS Alternatifs

Marsh Posté le 25-06-2002 à 09:15:18    

J'ai un petit probleme : je voudrais rapatrier des fichiers en passant par SSH via mon appli web. J'ai donc creé un user special (www) qui ne possede que des droits limités pour SSH (copie de certains fichiers seulement). Je lance donc mon serveur Apache (user : www) et je lance mon agent SSH (pour que www n'ait pas besoin de taper sa passphrase). Voici ce que j'ai dans le log quand j'essaye d'utiliser SCP a partir de mon appli :  
 
Could not open a connection to your authentication agent.
You have no controlling tty. Cannot read passphrase.

 
Une idée ? (je comprends le pb mais je vois pas comment le regler)
 
hihi :jap:
 
EDIT : petites precisions.


Message édité par impulse le 25-06-2002 à 09:27:51
Reply

Marsh Posté le 25-06-2002 à 09:15:18   

Reply

Marsh Posté le 25-06-2002 à 09:16:36    

Tu les rapatries d'où, tes fichiers ? Depuis un réseau local situé derrière ton apache ?

Reply

Marsh Posté le 25-06-2002 à 09:26:08    

Citation :

Tu les rapatries d'où, tes fichiers ? Depuis un réseau local situé derrière ton apache ?

 
 
Non. Apache est installé sur un serveur qui n'appartient pas au meme reseau que celui sur lequel est le serveur de fichiers.
 
hihi :jap:

Reply

Marsh Posté le 25-06-2002 à 10:29:04    

Citation :

Tu les rapatries d'où, tes fichiers ? Depuis un réseau local situé derrière ton apache ?

 
 
Pourquoi cette question au fait ?
 
hihi :D

Reply

Marsh Posté le 25-06-2002 à 11:17:59    

tu peux réexpliquer ce que tu cherches a faire, pas tout compris là

Reply

Marsh Posté le 25-06-2002 à 11:31:25    

Ok.  
 
J'ai une appli web. Cette appli permet de modifier des fichiers via une interface graphique. Je modifie ces fichiers en local mais je dois d'abord les recuperer sur des serveurs (puis ensuite les remettre en place). Pour recuperer les fichiers sur ces serveurs j'utilise SCP (Secure CoPy). L'acces au site est bien entendu controlé et seulement les personnes qui possedent un login/pass valide peuvent acceder a l'appli (utilisation des htpasswd pour ça). Le truc c'est que c'est ingerable de creer des centaines de nouveaux utilisateurs SSH. La solution consiste donc a creer un seul utilisateur SSH, ce meme utilisateur etant celui utilisé par Apache, avec des droits limités pour eviter les pb en cas de crackage de l'appli (ce user SSH pourra seulement copier les fichiers du serveur web vers le serveur de fichiers). Pour que SCP fonctionne il faut lui fournir la passphrase, c'est donc pour cela que je veux lancer un agent SSH en meme temps que le serveur web.
 
C'est plus clair ?
 
hihi ;)  

Reply

Marsh Posté le 25-06-2002 à 11:59:00    

impulse a écrit a écrit :

Ok.  
 
J'ai une appli web. Cette appli permet de modifier des fichiers via une interface graphique. Je modifie ces fichiers en local mais je dois d'abord les recuperer sur des serveurs (puis ensuite les remettre en place). Pour recuperer les fichiers sur ces serveurs j'utilise SCP (Secure CoPy). L'acces au site est bien entendu controlé et seulement les personnes qui possedent un login/pass valide peuvent acceder a l'appli (utilisation des htpasswd pour ça). Le truc c'est que c'est ingerable de creer des centaines de nouveaux utilisateurs SSH. La solution consiste donc a creer un seul utilisateur SSH, ce meme utilisateur etant celui utilisé par Apache, avec des droits limités pour eviter les pb en cas de crackage de l'appli (ce user SSH pourra seulement copier les fichiers du serveur web vers le serveur de fichiers). Pour que SCP fonctionne il faut lui fournir la passphrase, c'est donc pour cela que je veux lancer un agent SSH en meme temps que le serveur web.
 
C'est plus clair ?
 
hihi ;)    




 
c'est mieux : je comprends pas le passage qui met en relation ton ssh et ton apache (pour la gestion des compte user) ?

Reply

Marsh Posté le 25-06-2002 à 12:28:18    

Citation :

c'est mieux : je comprends pas le passage qui met en relation ton ssh et ton apache (pour la gestion des compte user) ?


 
:sweat:
 
Ah ouais. T'as raison. J'ai tout melangé dans mon explication. Pas besoin que le user apache et SSH soit le meme. Dans mon cas ce sera le meme user mais c'est pas obligé.
 
Une idée sinon pour mon pb ? :D
 
hihi :D

Reply

Marsh Posté le 26-06-2002 à 09:39:00    

up.
 
hihi :D

Reply

Marsh Posté le 26-06-2002 à 10:41:25    

Le problème c'est qu'apparemment SSH a absolument besoin d'un TTY.
Alors je sais pas, essaie d'exécuter un shell qui exécute ton scp plutôt que d'exécuter ton scp directement, mais je doute que ça fonctionne.
 
Sinon, le plus simple serait d'abandonner scp et de plutôt te pencher vers une ACL sur ton routeur distant qui autoriserait les connexions de ton apache vers la machine qu'il veut taper.
 
Non, là, j'ai pas plus d'idées :??:

Reply

Marsh Posté le 26-06-2002 à 10:41:25   

Reply

Marsh Posté le 26-06-2002 à 10:45:58    

Citation :

Sinon, le plus simple serait d'abandonner scp et de plutôt te pencher vers une ACL sur ton routeur distant qui autoriserait les connexions de ton apache vers la machine qu'il veut taper.


 
Nope. Je ne peux utiliser que SSH/SCP. Seule solution envisageable dans mon cas (je suis en stage, je ne peux pas faire ce que je veux niveau securité... mon boss non plus d'ailleurs).  
 
 

Citation :

Le problème c'est qu'apparemment SSH a absolument besoin d'un TTY.
Alors je sais pas, essaie d'exécuter un shell qui exécute ton scp plutôt que d'exécuter ton scp directement, mais je doute que ça fonctionne.

 
 
J'ai aussi essayé d'utiliser scp en batch mode (-B) pour qu'il ne demande pas le pass mais je ne pense pas que ce soit la bonne solution (pis ça passe pas non plus de toute façon).
 
Je trouverai bien la solution...
 
hihi :p

Reply

Marsh Posté le 26-06-2002 à 10:50:17    

impulse a écrit a écrit :

 J'ai aussi essayé d'utiliser scp en batch mode (-B) pour qu'il ne demande pas le pass mais je ne pense pas que ce soit la bonne solution (pis ça passe pas non plus de toute façon).



Mais rassure-moi, t'as bien copié les keys kivonbien sur tes serveurs quand même ?

Reply

Marsh Posté le 26-06-2002 à 10:53:18    

Quand tu dis que tu n'as pas le choix pour SSH, ça veut dire que tu n'as pas l'admin du firewall distant ? Ou que tu n'as pas l'admin de la machine et seulement un accès SSH ?

Reply

Marsh Posté le 26-06-2002 à 11:00:53    

Citation :

Mais rassure-moi, t'as bien copié les keys kivonbien sur tes serveurs quand même ?

 
 
:sarcastic:
 
SCP marche tres bien quand je tape les commandes ds la console ou que j'utilise un script quand j'ai lancé mon agent. Le probleme intervient quand j'essaye d'utiliser SCP avec mon appli web car je n'ai pas de console a ce moment la...
 
 

Citation :

Quand tu dis que tu n'as pas le choix pour SSH, ça veut dire que tu n'as pas l'admin du firewall distant ? Ou que tu n'as pas l'admin de la machine et seulement un accès SSH ?


 
On m'a dit : "Si tu veux te connecter a ce serveur tu dois utiliser SSH/SCP. Point.". Alors moi j'ai dit : "Ok monsieur le responsable de la securité HP Germany". J'ai pas vraiment le choix en fait...  
 
hihi :D

Reply

Marsh Posté le 26-06-2002 à 11:09:02    

impulse a écrit a écrit :

 SCP marche tres bien quand je tape les commandes ds la console ou que j'utilise un script quand j'ai lancé mon agent. Le probleme intervient quand j'essaye d'utiliser SCP avec mon appli web car je n'ai pas de console a ce moment la...



Ok mais quand t'es en console, il te demande de valider quoi que ce soit ? D'entrer un mot de passe, qqchose ?

Reply

Marsh Posté le 26-06-2002 à 11:09:34    

impulse a écrit a écrit :

 [On m'a dit : "Si tu veux te connecter a ce serveur tu dois utiliser SSH/SCP. Point.". Alors moi j'ai dit : "Ok monsieur le responsable de la securité HP Germany". J'ai pas vraiment le choix en fait...  



Mouais, encore un barbu ça :D

Reply

Marsh Posté le 26-06-2002 à 11:16:22    

Citation :

Ok mais quand t'es en console, il te demande de valider quoi que ce soit ? D'entrer un mot de passe, qqchose ?


 
Ben ça depend : avec l'agent y'a pas besoin (heureusement, c'est fait pour :D) et quand mon agent est pas lancé je dois entrer ma passphrase. Normal, quoi. Je pensais que si l'agent tournait c'etait bon mais en fait il lui faut un terminal quand meme...
 
 

Citation :

Mouais, encore un barbu ça :D

 
 
Gagné. C'est le metier qui veut ça...
 
hihi :D

Reply

Marsh Posté le 26-06-2002 à 11:25:36    

Qu'est-ce que t'appelles l'agent ? jamais entendu parler de ça.

Reply

Marsh Posté le 26-06-2002 à 13:02:07    

Citation :

Qu'est-ce que t'appelles l'agent ? jamais entendu parler de ça.

 
 
man ssh-agent :D
 
hihi ;)

Reply

Marsh Posté le 27-06-2002 à 07:34:11    

impulse a écrit a écrit :

 

Citation :

Qu'est-ce que t'appelles l'agent ? jamais entendu parler de ça.

 
 
man ssh-agent :D
 
hihi ;)



Jamais utilisé ce truc  :sleep:


---------------
"The marketing guys said the HP-35 would be a failure because it was too small, and then we couldn't make them fast enough to meet the demand. The marketing folks don't know everything." - Bill Hewlett
Reply

Marsh Posté le 27-06-2002 à 08:56:50    

Citation :

Jamais utilisé ce truc  :sleep:

 
 
C'est bien pratique pourtant.
Par contre il a besoin d'un term ssh-agent pour donner la passphrase a SSH, c'est la qu'est mon pb...
 
hihi :D

Reply

Marsh Posté le 27-06-2002 à 13:41:10    

impulse a écrit a écrit :

 [quote]Par contre il a besoin d'un term ssh-agent pour donner la passphrase a SSH, c'est la qu'est mon pb...


C'est pas le rôle de ssh-askpass-gnome ?


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 27-06-2002 à 13:55:28    

Citation :

C'est pas le rôle de ssh-askpass-gnome ?

 
 
Euh... peut etre. Mais la je suis sous HP-UX avec CDE...
En fait l'agent fonctionne comme ça :  
 
- tu lances l'agent (il te demande ta passphrase SSH)
- quand un programme (SSH) demande ta passphrase l'agent la donne a ta place
 
=> comme ça y'a pas besoin de s'emmerder a taper sa passphrase de 2 kms a chaque fois que tu te sers de SSH.
 
hihi :)  
 

Reply

Marsh Posté le 27-06-2002 à 15:20:06    

=> Donc c'est bien à ça que sert ssh-askpass-gnome.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 27-06-2002 à 15:45:21    

Citation :

=> Donc c'est bien à ça que sert ssh-askpass-gnome.


 
Ah ? Cool. :sweat:
Et pour mon pb ? :D
 
hihi :)

Reply

Marsh Posté le 27-06-2002 à 15:51:32    

impulse a écrit a écrit :

Et pour mon pb ? :D


Ah tiens, oui.
 
Bah tu ne mets pas de passphrase à l'utilisateur www.
De toute façon, si tu lui en mets une, il faudra l'écrire en dur quelque part, donc ça lui enlève tout intérêt.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 27-06-2002 à 15:58:57    

Citation :

Ah tiens, oui.
 
Bah tu ne mets pas de passphrase à l'utilisateur www.
De toute façon, si tu lui en mets une, il faudra l'écrire en dur quelque part, donc ça lui enlève tout intérêt.


 
Ben l'agent sert a ça... si il existe cet agent c'est pas pour rien. Il t'evite d'avoir a taper ta passphrase a chaque fois mais ça veut pas dire que t'as pas de passphrase.  
Ce n'est pas vraiment envisageable ds mon cas de ne pas mettre de passphrase (meme pour un compte limité de ce type). Le barbu va me faire chier si je lui dit ça... :D
 
hihi :D

Reply

Marsh Posté le 05-07-2002 à 09:04:00    

Pour ceux que ça pourrait interesser : mon pb etait lié au fait que j'ai plusieurs agents qui tournent sur mon serveur et ma clé etait ajoutée ds le mauvais. :D
 
Il faut donc exporter la variable SSH_AUTH_SOCK avant de faire un ssh-add /home/www/.ssh/identity et ensuite faire un autre export SSH_AUTH_SOCK dans le script qui est executé sur le serveur web pour que le "bon" agent soit utilisé.
 
^_^

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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