Now ssh credentials keep in DB, it's more user-frendly and and safer
This commit is contained in:
Aidaho12
2018-05-07 19:24:22 +06:00
parent ff069069b5
commit 02d5f9ab6b
11 changed files with 239 additions and 44 deletions

View File

@@ -214,7 +214,7 @@ def select_user_name_group(id):
try:
cur.execute(sql)
except sqltool.Error as e:
print('<span class="alert alert-danger" id="error">An error occurred: ' + e.args[0] + ' <a title="Close" id="errorMess"><b>X</b></a></span>')
print('<span class="alert alert-danger" id="error">An error occurred: ' + e + ' <a title="Close" id="errorMess"><b>X</b></a></span>')
else:
for group in cur.fetchone():
return group
@@ -389,7 +389,62 @@ def is_master(ip, **kwargs):
return cur.fetchall()
cur.close()
con.close()
def ssh_enable():
con, cur = create_db.get_cur()
sql = """select enable from cred """
try:
cur.execute(sql)
except sqltool.Error as e:
print('<span class="alert alert-danger" id="error">An error occurred: ' + e + ' <a title="Close" id="errorMess"><b>X</b></a></span>')
else:
for enable in cur.fetchone():
return enable
cur.close()
con.close()
def select_ssh_username():
con, cur = create_db.get_cur()
sql = """select username from cred """
try:
cur.execute(sql)
except sqltool.Error as e:
print('<span class="alert alert-danger" id="error">An error occurred: ' + e + ' <a title="Close" id="errorMess"><b>X</b></a></span>')
else:
for username in cur.fetchone():
return username
cur.close()
con.close()
def select_ssh_password():
con, cur = create_db.get_cur()
sql = """select password from cred """
try:
cur.execute(sql)
except sqltool.Error as e:
print('<span class="alert alert-danger" id="error">An error occurred: ' + e + ' <a title="Close" id="errorMess"><b>X</b></a></span>')
else:
for password in cur.fetchone():
return password
cur.close()
con.close()
def update_ssh(enable, username, password):
con, cur = create_db.get_cur()
sql = """
update cred set
enable = '%s',
username = '%s',
password = '%s' """ % (enable, username, password)
try:
cur.execute(sql)
con.commit()
except sqltool.Error as e:
print('<span class="alert alert-danger" id="error">An error occurred: ' + e + ' <a title="Close" id="errorMess"><b>X</b></a></span>')
con.rollback()
cur.close()
con.close()
def show_update_servers():
SERVERS = select_servers()
print('<tr class="overviewHead">'
@@ -612,4 +667,15 @@ if form.getvalue('updateserver') is not None:
if funct.ssh_connect(ip, check=1):
update_server(name, ip, group, typeip, enable, master, id)
else:
print('<span class="alert alert-danger" id="error"><a title="Close" id="errorMess"><b>X</b></a></span>')
print('<span class="alert alert-danger" id="error"><a title="Close" id="errorMess"><b>X</b></a></span>')
if form.getvalue('updatessh'):
enable = form.getvalue('ssh_enable')
username = form.getvalue('ssh_user')
password = form.getvalue('ssh_pass')
if username is None:
print('Content-type: text/html\n')
print(error_mess)
else:
print('Content-type: text/html\n')
update_ssh(enable, username, password)