Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import getpass
- import os
- import subprocess
- import json
- import requests
- from shlex import split
- #Введите имя сервера
- NameProx = input('Введите имя сервера \n')
- #Введите имя ноды, если есть подчиненый сервер (иначе оставьте пустым, тогда имя ноды станет равным имени сервера
- NameNode = input('Введите имя ноды, если есть подчиненый сервер (иначе оставьте пустым, тогда имя ноды станет равным имени сервера) \n')
- #Введите ID виртуальной машины
- IdVir = input('Введите ID виртуальной машины \n')
- #Введите имя пользователя
- ValU = input('Введите имя пользователя \n')
- #Введите пароль
- ValPass = getpass.getpass('Введите пароль \n')
- #print (NameProx, IdVir, ValU, ValPass)
- if (NameProx is ''):
- NameProx="proxserv"
- if (NameNode is ''):
- # NameNode=NameProx
- Tx = NameProx
- Rx = subprocess.run(["nmblookup", "-A", Tx], stdout=subprocess.PIPE, text=True, input="")
- Rx1 = Rx.stdout
- Rx2 = split(Rx1)
- NameNode = Rx2[5].lower()
- if (IdVir is ''):
- IdVir="100"
- if (ValU is ''):
- WhoamiD = subprocess.run(["whoami"], stdout=subprocess.PIPE, text=True, input="")
- ShellU = WhoamiD.stdout
- ValU=ShellU.strip()
- if (ValPass is ''):
- ValPass=''
- print ("На сервере", NameProx, ",на ноде", NameNode, "подлючаемся к VM", IdVir, "от имени пользователя", ValU)
- print ("Передаю параметры для запроса в curl")
- CurlPar1 ="username="+ValU+"@pam&password="+ValPass
- CurlPar2 = "https://"+NameProx+":8006/api2/json/access/ticket"
- CurlData = subprocess.run(["curl", "-f", "-s", "-S", "-k", "-d", CurlPar1, CurlPar2], stdout=subprocess.PIPE, text=True, input="")
- #print (CurlData.stdout)
- CurlFind = CurlData.stdout
- jss=json.loads(CurlFind)
- #print ("**************************")
- ticket = jss['data']['ticket']
- CSRF = jss['data']['CSRFPreventionToken']
- #print (jss['data']['ticket'])
- #print (jss['data']['CSRFPreventionToken'])
- CurlPar1 ="PVEAuthCookie=" + ticket.strip()
- CurlPar2 ="CSRFPreventionToken: " + CSRF.strip()
- CurlPar3 ="https://"+NameProx+":8006/api2/spiceconfig/nodes/"+NameNode+"/qemu/"+IdVir+"/spiceproxy"
- CurlPar4 ="proxy="+NameProx
- #print ("######")
- #print (CurlPar1)
- #print (CurlPar2)
- #print (CurlPar3)
- #print (CurlPar4)
- #print ("Получаем параметры для файла подключения")
- CurlDataFin = subprocess.run(["curl", "-f", "-s", "-S", "-k", "-b", CurlPar1, "-H", CurlPar2, CurlPar3, "-d", CurlPar4], stdout=subprocess.PIPE, text=True, input="")
- #print (CurlDataFin.stdout)
- FinalGame1 = CurlDataFin.stdout
- FinalGame = FinalGame1.strip()
- fileVar = open("/home/korolevsa/tmp/c.vv", "w")
- fileVar.write(FinalGame)
- fileVar.close()
- subprocess.run(["remote-viewer", "/home/korolevsa/tmp/c.vv"], stdout=subprocess.PIPE, text=True, input="")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement