Guest User

Untitled

a guest
Feb 8th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. from Tkinter import *
  2. import tkMessageBox
  3. import tkSimpleDialog
  4. ...
  5.  
  6.  
  7. ventana = Tk()
  8. ventana.title("AutoGestion de Conexiones AUTOCON")
  9. ventana.resizable(0,0)
  10. ventana.config(bg="red")
  11. ventana.config(bd=10)
  12. ventana.config(relief="groove")
  13. ventana.config(cursor="tcross")
  14.  
  15. principal=Frame()
  16.  
  17. principal.pack(fill="y", expand="True")
  18.  
  19. tkMessageBox.showinfo("BIENVENIDO", "En sus marcas!")
  20.  
  21. principal.config(bg="white")
  22. principal.config(width="1000", height="384")
  23. principal.config(bd=10)
  24. principal.config(relief="ridge")
  25. principal.config(cursor="hand2")
  26.  
  27. logo=PhotoImage(file="logo.gif")
  28.  
  29. Label(principal, text="AutoGestion de Conexiones AUTOCON", fg="red", font=("Swis721 BlkEx BT Negra", 30)).place(x=50, y=50)
  30. Label(principal, image=logo).place(x=780, y=50)
  31.  
  32. def comandos():
  33. try:
  34. #solicitamos los datos al usuario
  35. usuario=tkSimpleDialog.askstring("USUARIO", "Coloque el usuario:")
  36. clave=tkSimpleDialog.askstring("CONTRASENA", "Coloque la contrasena AAA:", show="*")
  37.  
  38. #leemos el archivo listaip.txt y comandos.txt
  39. #en comandos.txt escribimos los comandos a enviar a los equipos remotos
  40. archivo1 = open("listaip.txt","r")
  41. archivo2 = open("comandos.txt","r")
  42. archivo3 = open("objetivo.txt","w")
  43. #guardamos en un archivo los resultados obtenidos al final del recorrido
  44. #leemos lo que contiene los archivos e igualamos a las variables del bucle
  45. terminales = archivo1.readlines()
  46. comandoss = archivo2.readlines()
  47. #bucle que recorre de acuerdo a las n cantidas de direcciones ip activas
  48. for host in terminales:
  49. #rstrip eliminamos los espacios que pudieren quedar antes o despues del salto de linea
  50. host = host.rstrip()
  51. for command in comandoss:
  52. #bucle que funciona de acuerdo a la cantidad de direcciones ip almacenadas en el archivo listaip.txt
  53. command = command.rstrip()
  54. name = socket.getfqdn()
  55. #eliminamos los espacios vacios
  56. #inicializamos el cliente ssh
  57. ssh = paramiko.SSHClient()
  58. #leemos la clave local
  59. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  60. #efectuamos la conexion
  61. ssh.connect(host, username=usuario, password=clave)
  62. stdin, stdout, stderr = ssh.exec_command(command)
  63. #leemos la salida
  64. salida = stdout.read()
  65. #creamos una lista vacia
  66. lista =[]
  67. #anadimos los elementos de la salida al final de la lista
  68. lista.append(salida)
  69. #esto es para verificar en consola que si esta ejecutandose correctamente
  70. print "ok"
  71. #escribimos en el archivo
  72. archivo3.write(str((host + ":" + salida +" establecido con exito" + "n" )))
  73. ssh.close()
  74. #cerramos la conexion y todos los archivos
  75. archivo1.close()
  76. archivo2.close()
  77. archivo3.close()
  78. except:
  79. error1 = "nError al ejecutar la conexion!n"
  80. tkMessageBox.showinfo("Resultado", error1)
  81.  
  82. barra = Menu(ventana)
  83. ...
  84. #menucomandos
  85. menucomandos = Menu(barra, tearoff=1)
  86. menucomandos.add_command(label="Aplicar comandos escritos en los archivos",
  87. command=comandos)
  88. barra.add_cascade(label="Comandos",menu=menucomandos)
  89.  
  90. ventana.config(menu=barra)
  91.  
  92. ventana.mainloop()
Add Comment
Please, Sign In to add comment