Comment executer un fichier sur un serveur FTP sous Debian

Bonsoir,

Bon j’essaye de vous faire la version courte :wink: :

Je suis admin d’un serveur Minecraft, mais je souhaite pouvoir l’administrer “a distance”, j’ai donc eu l’idée de l’installer dans une machine virtuelle et de paramétrer un accès FTP a cette machine, aucun problème pour l’installation, mais j’en rencontre un plus tard: pour lancer le serveur Minecraft, je doit exécuter un fichier d’extension .sh (qui se trouve donc sur la machine virtuelle), ma question est donc la suivante: comment exécuter ce fichier via FTP ? (ou SSH), ou, si ce n’est pas possible (via FTP ou SSH), quelle méthode utiliser ?

Merci d’avance pour votre aide !

Edit: j’ai oublié de préciser que le but de cette méthode et que l’exécutable fonctionne sur le serveur et non sur la machine depuis laquelle j’exécute le fichier .sh, de façon a ce que le serveur (du jeu) continue a fonctionner en autonomie sur le serveur FTP même si j’éteins la machine depuis laquelle je le lance (j’espère avoir été assez clair)

Le FTP ne permet pas d’exécuter quoi que ce soit sur la machine distante (heureusement, vu qu’il s’agit d’un protocole de transfert de fichiers !). Il faudra donc passer par du SSH afin de pouvoir obtenir un shell distant.

Edit : je n’ai jeté qu’un rapide coup d’oeil, mais ça devrait répondre à toutes tes questions : doc.ubuntu-fr.org/ssh
Je te conseille fortement d’utiliser une authentification par clés privées/publiques d’au moins 2048 voire 4096 bits, l’authentification par mot de passe et les clés plus petites que 2048 bits ne sont plus considérés comme sûrs de nos jours.

D’autres questions ? :033

Ah … donc il me suffit de passer par SSH plutôt que FTP … c’était tout con en fait :laughing: bon bah merci je vais regarder ça et merci du conseil pour les clé, je verrais ça en temps voulu, je posterais ici en cas de problème

Merci encore !

[quote=“liquidus88”]de façon a ce que le serveur (du jeu) continue a fonctionner en autonomie sur le serveur(…) même si j’éteins la machine depuis laquelle je le lance[/quote]Lance ta commande avec “&” (pour lancer en “arrière-plan”) à la fin ou vois du coté de “screen”, sinon, quand tu fermeras le terminal à partir duquel tu auras lancé la commande, ben… ça arrêtera aussi ce que tu as lancé…

:006

Si le .sh qu’il lance est sur le server la commande est interne au server.
Quand je passe sur mon server en ssh je suis plus sur mon PC et mes comandes reste valable même quand je quitte le server.

Tout dépend de ce que tu lances… Si c’est un “démon” ou un script qui te rend la main (et continue à tourner) alors oui, en coupant le ssh, “ça” continue à tourner… mais si le script ne te rend pas la main, en coupant le ssh, tu arrêtes le script (logique)…

:006

Non le “&” ne fait que passer le processus en tâche de fond, si la connexion est interrompue le processus est arrêté !
Il faut le passer en tâche de fond via le “&” dans un nohup, la commande sera donc

ou

nohup le_script_qui_va_bien & 1>fichier_log 2>fichier_err si la commande crache des traces.

LeDub correcteur … bis

Et ben nop…

Je viens de faire un test:
J’ouvre un ssh, je lance un “htop &”, je coupe le ssh, je ré-ouvre le ssh, je fais un “ps aux | grep htop”, je vois bien le process lancé précédemment… :wink:

voili voilou… :mrgreen:

:006

[quote=“Num’s”]Et ben nop…[/quote]nop-nop ??

Peut-être est-ce une configuration particulière de mon Kitty merdose, depuis lequel je me connecte sur des serveurs linux, mais en aucun cas mon processus lancé sur un terminal n’est visible sur un second terminal après l’arrêt du premier.

Si j’ai le temps ce soir, je tenterai depuis un vrai système.

LeDub qui ne veut froisser personne !

[quote=“Num’s”]Et ben nop…

Je viens de faire un test:
J’ouvre un ssh, je lance un “htop &”, je coupe le ssh, je ré-ouvre le ssh, je fais un “ps aux | grep htop”, je vois bien le process lancé précédemment… :wink:

voili voilou… :mrgreen:

:006[/quote]

[code]francois@totoche:~$ ssh cerbere
Linux cerbere 2.6.26-2-686 #1 SMP Thu Nov 25 01:53:57 UTC 2010 i586
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
francois@cerbere:~$ ps x | grep ping
24019 pts/1 S+ 0:00 grep ping
francois@cerbere:~$ ping totoche &
PING totoche.rebelles (192.168.1.249) 56(84) bytes of data.
[1] 24021
francois@cerbere:~$ logout
Connection to cerbere closed.
francois@totoche:~$ ssh cerbere
Linux cerbere 2.6.26-2-686 #1 SMP Thu Nov 25 01:53:57 UTC 2010 i586

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
francois@cerbere:~$ ps x | grep ping
24021 ? S 0:00 ping totoche
24032 pts/2 S+ 0:00 grep ping
francois@cerbere:~$ kill 24021
francois@cerbere:~$ logout
Connection to cerbere closed.
francois@totoche:~$
[/code]

Je suis surpris mais effectivement il est toujours là. Note que cependant plus aucun ping n’est émis (vérification avec tcpdump).