57 lines
2.0 KiB
Python
57 lines
2.0 KiB
Python
from tkinter import *
|
|
from tkinter.ttk import *
|
|
from tkinter.messagebox import *
|
|
import os
|
|
from keygen import *
|
|
import window
|
|
|
|
|
|
class SSH_Tools(window.Window,Key):
|
|
def __init__(self, hostname, user, passwd, path, master=None, broad=None):
|
|
window.Window.__init__(self,master)
|
|
Key.__init__(self,hostname=hostname, user=user, password=passwd, path=path)
|
|
self.broad = broad
|
|
self.hostname = hostname
|
|
self.user = user
|
|
self.add_btn = Button(self, width=12)
|
|
self.set_btn = Button(self, width=12)
|
|
self.check_btn = Button(self, width=12)
|
|
self.draw_window()
|
|
|
|
def do_add_key(self):
|
|
stdout = self.create_key()
|
|
self.broad.insert(INSERT, "--------------------------\n")
|
|
self.broad.insert(INSERT, "{0}\n".format(stdout))
|
|
self.broad.see(END)
|
|
|
|
def do_set_key(self):
|
|
stdout = self.get_key()
|
|
self.broad.insert(INSERT, "--------------------------\n")
|
|
self.broad.insert(INSERT, "{0}\n".format(stdout))
|
|
stdout = self.add_key()
|
|
self.broad.see(END)
|
|
|
|
def do_check_key(self):
|
|
ret_code = subprocess.Popen("ssh -T {0}@{1}".format(self.user, self.hostname),
|
|
shell=True,
|
|
stdin=subprocess.PIPE, stdout=subprocess.PIPE
|
|
)
|
|
stdout, stderr = ret_code.communicate(input=b"\x03")
|
|
self.broad.insert(INSERT, "--------------------------\n")
|
|
self.broad.insert(INSERT, "{0}\n".format(stdout.decode("utf-8")))
|
|
self.broad.see(END)
|
|
|
|
|
|
def draw_window(self):
|
|
self.add_btn["text"] = "New Key"
|
|
self.set_btn["text"] = "Set Key"
|
|
self.check_btn["text"] = "Check Key"
|
|
|
|
self.add_btn["command"] = self.do_add_key
|
|
self.set_btn["command"] = self.do_set_key
|
|
self.check_btn["command"] = self.do_check_key
|
|
self.add_btn.grid(row=0,column=0)
|
|
self.set_btn.grid(row=1, column=0)
|
|
self.check_btn.grid(row=2, column=0)
|
|
|