201 votes

Exécuter des commandes sur ssh avec Python

J’écris un script pour automatiser certaines commandes de ligne de commande en Python. En ce moment, je fais des appels comme celui-ci :

Cependant, je dois exécuter certaines commandes sur une machine distante. Manuellement, je me connectais en utilisant puis j’exécutais les commandes. Comment automatiser cela en Python ? Je dois me connecter avec un mot de passe (connu) à la machine distante, donc je ne peux pas simplement utiliser, je me demande s’il y a un module que je devrais utiliser?

270voto

shahjapan Points 4043

Je vais vous référer à paramiko

voir cette question

Si vous utilisez des clés ssh, procédez comme suit :

67voto

Ronn Macc Points 31

Restez simple. Aucune bibliothèque requise.

57voto

powerrox Points 510

Ou vous pouvez simplement utiliser commands.getstatusoutput:

Je l’ai beaucoup utilisé et cela fonctionne très bien.

Dans Python 2.6+, utilisez ``.

22voto

Michael Williamson Points 6210

J’ai trouvé que paramiko était un peu trop bas niveau, et Fabric pas particulièrement bien adapté pour être utilisé comme bibliothèque, alors j’ai mis en place ma propre bibliothèque appelée spur qui utilise paramiko pour implémenter une interface légèrement plus agréable:

Si vous devez exécuter à l’intérieur d’un shell :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X