Je veux me connecter à Putty et je veux faire quelques étapes: p>
Je dois écrire le code dans Windows. Mais mon serveur est sous Linux. Comment vais-je procéder? Merci d'avance p>
4 Réponses :
Vous pouvez utiliser le code similaire à: p>
qui ouvrira un SSH au nom d'hôte code> souhaité code> à l'aide de arrêt:
Redémarrez:
Ajoutez vos autres commandes en utilisant la même méthode que ci-dessus, P>
Exécuter la commande avec: p>
Comme indiqué par Tadeck, cela ne fonctionnera que sur une machine Windows qui tente de se connecter à une machine Linux. P> Commande = "PLINK.EXE -SSH Nom d'utilisateur @" + nom d'hôte + "-PW Mot de passe -Batch \" exporter display = '"+ nom d'hôte +" /unix:0.0'; " code> p>
nom d'utilisateur code> et
mot de passe code> p> p>
commande + = "sudo / sbin / halt \" " code> p>
commande + = "sudo / sbin / redémarrage \" " code> p>
pid = subprocess.popen (commande) .pid code> p>
Bien sûr, votre solution est totalement dépendante de la plate-forme et ne fonctionnera que sur Windows Connexion au système Linux / Unix.
En effet c'est, mais c'est ce que l'op voulait et ce que j'ai fait très récemment.
@Tadeck, merci, j'aurais dû mentionner ce que vous avez dit, c'était une surveillance de ma part, je vais l'ajouter à l'exactitude.
Ce dont vous avez besoin est Pour des tâches simples et répétitives, vous pouvez Utilisation du module SSH mentionné Connexion au serveur et exécuter une commande est plutôt simple: p> bonne chance. Dis-moi si cela aidait. P> p>
Pouvez-vous télécharger le module sur PYPI s'il vous plaît?
Lien vers Paramiko est mort.
Pouvez-vous inclure le lien vers "... ... Interface sympathique SSH Python B> ..."?
Vous pouvez le faire:
# Use plink to open a connection to the remote shell command = "plink.exe -ssh %s -batch" % credentials sp = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE) # Send commands to the shell as if they were read from a shell script sp.stdin.write("command1\n") sp.stdin.write("command2\n") sp.stdin.close() # read out the answers, if needed ans = sp.stdout.read() sp.wait()
from pywinauto.application import Application import time app = Application ().Start (cmd_line=u'putty -ssh user_name@10.70.15.175') putty = app.PuTTY putty.Wait ('ready') time.sleep (1) putty.TypeKeys ("password") putty.TypeKeys ("{ENTER}") time.sleep (1) putty.TypeKeys ("ls") putty.TypeKeys ("{ENTER}") I am using python 2.7. Code is running on Windows, and connect to remote Linux. it is working in my environment.
Pouvez-vous suggérer une solution de contournement pour que cela soit attendu jusqu'à ce qu'un processus complexe comme RSYNC soit terminé, puis exécute d'autres commandes, merci d'avance
Vous pouvez utiliser Tissu pour faire ces étapes.
Je pense que vous voulez une connexion à un serveur SSH, vous pouvez donc utiliser lag.net/paramiko . Vous n'aurez pas besoin de mastic!