Advertisement
Guest User

Untitled

a guest
Jan 26th, 2022
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.05 KB | None | 0 0
  1. import getpass
  2. import os
  3. import subprocess
  4. import json
  5. import requests
  6. from shlex import split
  7. #Введите имя сервера
  8. NameProx = input('Введите имя сервера \n')
  9. #Введите имя ноды, если есть подчиненый сервер (иначе оставьте пустым, тогда имя ноды станет равным имени сервера
  10. NameNode = input('Введите имя ноды, если есть подчиненый сервер (иначе оставьте пустым, тогда имя ноды станет равным имени сервера) \n')
  11. #Введите ID виртуальной машины
  12. IdVir = input('Введите ID виртуальной машины \n')
  13. #Введите имя пользователя
  14. ValU = input('Введите имя пользователя \n')
  15. #Введите пароль
  16. ValPass = getpass.getpass('Введите пароль \n')
  17. #print (NameProx, IdVir, ValU, ValPass)
  18. if (NameProx is ''):
  19.     NameProx="proxserv"
  20. if (NameNode is ''):
  21. #   NameNode=NameProx
  22.     Tx = NameProx
  23.     Rx = subprocess.run(["nmblookup", "-A", Tx], stdout=subprocess.PIPE, text=True, input="")
  24.     Rx1 = Rx.stdout
  25.     Rx2 = split(Rx1)
  26.     NameNode = Rx2[5].lower()
  27. if (IdVir is ''):
  28.     IdVir="100"
  29. if (ValU is ''):
  30.     WhoamiD = subprocess.run(["whoami"], stdout=subprocess.PIPE, text=True, input="")
  31.     ShellU = WhoamiD.stdout
  32.     ValU=ShellU.strip()
  33. if (ValPass is ''):
  34.     ValPass=''
  35. print ("На сервере", NameProx, ",на ноде", NameNode, "подлючаемся к VM", IdVir, "от имени пользователя", ValU)
  36. print ("Передаю параметры для запроса в curl")
  37. CurlPar1 ="username="+ValU+"@pam&password="+ValPass
  38. CurlPar2 = "https://"+NameProx+":8006/api2/json/access/ticket"
  39. CurlData = subprocess.run(["curl", "-f", "-s", "-S", "-k", "-d", CurlPar1, CurlPar2], stdout=subprocess.PIPE, text=True, input="")
  40. #print (CurlData.stdout)
  41. CurlFind = CurlData.stdout
  42. jss=json.loads(CurlFind)
  43. #print ("**************************")
  44. ticket = jss['data']['ticket']
  45. CSRF = jss['data']['CSRFPreventionToken']
  46. #print (jss['data']['ticket'])
  47. #print (jss['data']['CSRFPreventionToken'])
  48. CurlPar1 ="PVEAuthCookie=" + ticket.strip()
  49. CurlPar2 ="CSRFPreventionToken: " + CSRF.strip()
  50. CurlPar3 ="https://"+NameProx+":8006/api2/spiceconfig/nodes/"+NameNode+"/qemu/"+IdVir+"/spiceproxy"
  51. CurlPar4 ="proxy="+NameProx
  52. #print ("######")
  53. #print (CurlPar1)
  54. #print (CurlPar2)
  55. #print (CurlPar3)
  56. #print (CurlPar4)
  57. #print ("Получаем параметры для файла подключения")
  58. CurlDataFin = subprocess.run(["curl", "-f", "-s", "-S", "-k", "-b", CurlPar1, "-H", CurlPar2, CurlPar3, "-d", CurlPar4], stdout=subprocess.PIPE, text=True, input="")
  59. #print (CurlDataFin.stdout)
  60.  
  61. FinalGame1 = CurlDataFin.stdout
  62. FinalGame = FinalGame1.strip()
  63. fileVar = open("/home/korolevsa/tmp/c.vv", "w")
  64. fileVar.write(FinalGame)
  65. fileVar.close()
  66. subprocess.run(["remote-viewer", "/home/korolevsa/tmp/c.vv"], stdout=subprocess.PIPE, text=True, input="")
  67.  
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement