2012-11-21 7 views
4

Je lance maintenant avec succès un script php dans un serveur linux .us que je possède. Je possède un autre serveur de linux .de localisé qui n'a pas les services d'apache/php. Puis-je utiliser la 2ème boîte comme un tunnel ssh ou un proxy ou un port bounce ou quelque chose pour que je puisse cacher mon ip de la 1ère case et comment? J'ai déjà pbnc installé dans la 2ème boîte mais je ne sais pas si cela peut réaliser cela? Je sais déjà comment je peux accomplir ceci avec des fenêtres et du mastic mais comment est-ce possible par le terminal de Linux. Désolé pour mon mauvais anglais et merci beaucoup d'avance!Exécution d'un script php via un tunnel SSH dans une boîte Linux

+4

Cette question est mieux posée sur serverfault. Voter pour migrer vers 'serverfault.com' – Starx

+1

Oui, vous pouvez tunnel SSH, mais je pense qu'il est plus approprié pour un autre site d'échange de la pile - peut-être [server-fault] (http://serverfault.com/)/[super utilisateur] (http://superuser.com/) car il s'agit plus d'un réseau/configuration que strictement lié à la programmation. Bonne question cependant. – nickhar

+1

Je pensais que si nous devions utiliser un port différent, nous devrions aussi changer mon script PHP pour pouvoir utiliser ce port. C'est pourquoi j'ai utilisé le débordement de pile: P – Alexandros

Répondre

1

Si j'ai compris, vous voulez exécuter un script qui se trouve sur un autre serveur via ssh? Droite? Si c'est un cas, vous devez vous connecter au serveur numéro deux sans mot de passe. C'est facile.

Première façon: Tout ce que vous avez à faire est de générer des clés ssh (sans mot de passe). Here is how you can do this. Deuxième façon (mieux): Je suppose que vous n'avez pas les autorisations pour exécuter le script sur le serveur numéro deux. Ceci est facilement résolu si vous avez accès au deuxième serveur. Voici comment vous le faites:

  • Entrez visudo
  • Ajouter cette ligne à la fin du fichier

apache ALL = (utilisateur) NOPASSWD: script_path

exemple

apache ALL=(clamav) NOPASSWD: /usr/bin/clamscan 

Entre parenthèses, entrez l'utilisateur autorisé à exécuter votre script. srcipt_path est dans l'exemple ci-dessus/usr/bin/clamscan.

  • Avec boucle depuis le serveur que vous ouvrez un fichier quelconque sur le serveur deux (appel LTS il script.php)
  • Modifier script.php et ajouter

$ do = exec ("some_script some_arguments ")

et c'est tout.

+0

[xxxxx] $ visudo -bash: visudo: commande non trouvée : D – Alexandros

+0

php script est situé sur le serveur a/apache serveur est sur le serveur a/et doit également être exécuté à partir du serveur a . Je veux juste cacher "server a" ip en utilisant "serveur b". Les scripts PHP utilisent curl pour ouvrir le site Web et obtenir son contenu. Je veux que ce site voit mon ip "serveur b" et non celui d'un: D – Alexandros

+0

essayé le premier chemin sans succès. ça ne cesse de me demander un mot de passe – Alexandros

Questions connexes