|
@ -9,8 +9,8 @@ import collections |
|
|
import module |
|
|
import module |
|
|
|
|
|
|
|
|
INPUT_FILE = "/home/jeff/scripts/servers.txt" |
|
|
INPUT_FILE = "/home/jeff/scripts/servers.txt" |
|
|
Computer = collections.namedtuple("Computer", ('host', 'menue_id')) |
|
|
|
|
|
WELCOME_MESSAGE = "*************Jeff-Tower***************" |
|
|
|
|
|
|
|
|
Computer = collections.namedtuple("Computer", ('host', 'menu_id')) |
|
|
|
|
|
WELCOME_MESSAGE = "**************************************" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def print_welcome_message(): |
|
|
def print_welcome_message(): |
|
@ -18,7 +18,7 @@ def print_welcome_message(): |
|
|
Prints defined greeting message to terminal |
|
|
Prints defined greeting message to terminal |
|
|
:return: None |
|
|
:return: None |
|
|
""" |
|
|
""" |
|
|
print(magenta_print(WELCOME_MESSAGE)) |
|
|
|
|
|
|
|
|
print(print_magenta(WELCOME_MESSAGE)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def print_menu_option(s): |
|
|
def print_menu_option(s): |
|
@ -27,8 +27,8 @@ def print_menu_option(s): |
|
|
:param s: |
|
|
:param s: |
|
|
:return: |
|
|
:return: |
|
|
""" |
|
|
""" |
|
|
space = " " * (len(WELCOME_MESSAGE) - 3 - len(s)) |
|
|
|
|
|
print(magenta_print("*") + s + space + magenta_print("*")) |
|
|
|
|
|
|
|
|
space = " " * (len(WELCOME_MESSAGE) - 4 - len(s)) |
|
|
|
|
|
print(print_magenta("* ") + s + space + print_magenta("*")) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main(): |
|
|
def main(): |
|
@ -46,14 +46,14 @@ def main(): |
|
|
cmp.append(Computer(line, count)) |
|
|
cmp.append(Computer(line, count)) |
|
|
count += 1 |
|
|
count += 1 |
|
|
|
|
|
|
|
|
print(magenta_print("*") + " SSH manager V 0.2 " + magenta_print("*")) |
|
|
|
|
|
|
|
|
print(print_magenta("*") + " " + print_green("SSH manager V 0.2") + " " + print_magenta("*")) |
|
|
for c in cmp: |
|
|
for c in cmp: |
|
|
print_menu_option(str(c.menue_id) + ") " + c.host) |
|
|
|
|
|
|
|
|
print_menu_option(str(c.menu_id) + ") " + c.host) |
|
|
|
|
|
|
|
|
print_menu_option("A) Exit") |
|
|
print_menu_option("A) Exit") |
|
|
print_menu_option("B) Manager tools") |
|
|
print_menu_option("B) Manager tools") |
|
|
|
|
|
|
|
|
print(magenta_print("*" * len(WELCOME_MESSAGE))) |
|
|
|
|
|
|
|
|
print(print_magenta("*" * len(WELCOME_MESSAGE))) |
|
|
i = input("Enter number of computer to connect to or enter to exit:") |
|
|
i = input("Enter number of computer to connect to or enter to exit:") |
|
|
|
|
|
|
|
|
if i == '' or i == 'A' or i == 'a': |
|
|
if i == '' or i == 'A' or i == 'a': |
|
@ -62,8 +62,9 @@ def main(): |
|
|
sub_menu() |
|
|
sub_menu() |
|
|
else: |
|
|
else: |
|
|
for c in cmp: |
|
|
for c in cmp: |
|
|
if int(i) == c.menue_id: |
|
|
|
|
|
|
|
|
if int(i) == c.menu_id: |
|
|
subprocess.call(["ssh", c.host]) |
|
|
subprocess.call(["ssh", c.host]) |
|
|
|
|
|
exit_program() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def print_sub_menu(): |
|
|
def print_sub_menu(): |
|
@ -71,17 +72,23 @@ def print_sub_menu(): |
|
|
prints out a sub help menu for other options |
|
|
prints out a sub help menu for other options |
|
|
:return: None |
|
|
:return: None |
|
|
""" |
|
|
""" |
|
|
print(magenta_print("**************************************")) |
|
|
|
|
|
print(magenta_print("*") + " SSH manager V 0.2 Options " + magenta_print("*")) |
|
|
|
|
|
|
|
|
print(print_magenta("**************************************")) |
|
|
|
|
|
print(print_magenta("*") + print_green("Options") + " " + print_magenta("*")) |
|
|
print_menu_option("1) Add Host") |
|
|
print_menu_option("1) Add Host") |
|
|
print_menu_option("2) Copy SSH key to server") |
|
|
print_menu_option("2) Copy SSH key to server") |
|
|
print_menu_option("3) Remove host name") |
|
|
print_menu_option("3) Remove host name") |
|
|
print_menu_option("4) Return to ssh manager") |
|
|
print_menu_option("4) Return to ssh manager") |
|
|
print_menu_option("5) Exit") |
|
|
print_menu_option("5) Exit") |
|
|
print(magenta_print("*" * len(WELCOME_MESSAGE))) |
|
|
|
|
|
|
|
|
print(print_magenta("*" * len(WELCOME_MESSAGE))) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def magenta_print(prt): return"\033[95m {}\033[00m" .format(prt) |
|
|
|
|
|
|
|
|
def print_magenta(prt): return"\033[95m {}\033[00m" .format(prt) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def print_green(prt): return "\033[92m {}\033[00m" .format(prt) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def print_red(prt): return "\033[91m {}\033[00m" .format(prt) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def sub_menu(): |
|
|
def sub_menu(): |
|
@ -120,7 +127,7 @@ def add_host(): |
|
|
appends an inputted host name to servers.txt |
|
|
appends an inputted host name to servers.txt |
|
|
:return: None |
|
|
:return: None |
|
|
""" |
|
|
""" |
|
|
host = input("enter host name or -1 to exit:") |
|
|
|
|
|
|
|
|
host = input("Enter 'user@host' or -1 to exit:") |
|
|
if host != '-1': |
|
|
if host != '-1': |
|
|
module.append_file(INPUT_FILE, host) |
|
|
module.append_file(INPUT_FILE, host) |
|
|
|
|
|
|
|
@ -130,9 +137,9 @@ def copy_ssh_key(): |
|
|
calls systems ssh-copy-id with host name |
|
|
calls systems ssh-copy-id with host name |
|
|
:return: None |
|
|
:return: None |
|
|
""" |
|
|
""" |
|
|
host = input("enter user@host or -1 to exit:") |
|
|
|
|
|
|
|
|
host = input("Enter user@host or -1 to exit:") |
|
|
if host != '-1': |
|
|
if host != '-1': |
|
|
subprocess.call(["ssh-copy-id " + host]) |
|
|
|
|
|
|
|
|
subprocess.call(["ssh-copy-id", host]) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def remove_host(): |
|
|
def remove_host(): |
|
@ -140,9 +147,25 @@ def remove_host(): |
|
|
Removes a host name from servers.txt |
|
|
Removes a host name from servers.txt |
|
|
:return: None |
|
|
:return: None |
|
|
""" |
|
|
""" |
|
|
host = input("enter host to remove or -1 to exit:") |
|
|
|
|
|
|
|
|
file = module.input_file(INPUT_FILE) |
|
|
|
|
|
cmp = [] |
|
|
|
|
|
count = 1 |
|
|
|
|
|
print(print_red("*" * len(WELCOME_MESSAGE))) |
|
|
|
|
|
for line in file: |
|
|
|
|
|
cmp.append(Computer(line, count)) |
|
|
|
|
|
count += 1 |
|
|
|
|
|
for c in cmp: |
|
|
|
|
|
space = " " * (len(WELCOME_MESSAGE) - 3 - len(str(c.menu_id) + ") " + c.host)) |
|
|
|
|
|
print(print_red("*") + str(c.menue_id) + ") " + c.host + space + print_red("*")) |
|
|
|
|
|
|
|
|
|
|
|
print(print_red("*" * len(WELCOME_MESSAGE))) |
|
|
|
|
|
|
|
|
|
|
|
host = input("Enter number of host -1 to exit:") |
|
|
if host != '-1': |
|
|
if host != '-1': |
|
|
module.remove_line_from_file(INPUT_FILE, host) |
|
|
|
|
|
|
|
|
for c in cmp: |
|
|
|
|
|
if c.menu_id == int(host): |
|
|
|
|
|
module.remove_line_from_file(INPUT_FILE, c.host) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
""" |
|
|
""" |
|
|
Makes sure that other programs don't execute the main |
|
|
Makes sure that other programs don't execute the main |
|
|