blank password for remove password field
This commit is contained in:
parent
b48081be65
commit
b7fdcf119d
2
setup.py
2
setup.py
|
@ -10,7 +10,7 @@ def main():
|
||||||
url='https://github.com/zlaxy/sshch/',
|
url='https://github.com/zlaxy/sshch/',
|
||||||
description='Ssh connection manager',
|
description='Ssh connection manager',
|
||||||
license='DWTWL 2.55',
|
license='DWTWL 2.55',
|
||||||
version='0.998',
|
version='0.999',
|
||||||
py_modules=['sshch'],
|
py_modules=['sshch'],
|
||||||
scripts=['sshch/sshch'],
|
scripts=['sshch/sshch'],
|
||||||
|
|
||||||
|
|
15
sshch/sshch
15
sshch/sshch
|
@ -20,7 +20,7 @@ import curses
|
||||||
from curses import textpad, panel
|
from curses import textpad, panel
|
||||||
|
|
||||||
# https://github.com/zlaxy/sshch
|
# https://github.com/zlaxy/sshch
|
||||||
version = "0.998"
|
version = "0.999"
|
||||||
# path to conf file, default: ~/.config/sshch.conf
|
# path to conf file, default: ~/.config/sshch.conf
|
||||||
conf_file = path.expanduser("~") + '/.config/sshch.conf'
|
conf_file = path.expanduser("~") + '/.config/sshch.conf'
|
||||||
# expand groups by default
|
# expand groups by default
|
||||||
|
@ -47,8 +47,13 @@ def SetGroupString(alias, string):
|
||||||
|
|
||||||
|
|
||||||
def SetPassword(alias, string):
|
def SetPassword(alias, string):
|
||||||
|
if string == "" or string == b'':
|
||||||
|
conf.remove_option(alias, "password")
|
||||||
|
else:
|
||||||
|
string = string.encode()
|
||||||
string = base64.b64encode(base64.b16encode(
|
string = base64.b64encode(base64.b16encode(
|
||||||
base64.b32encode(string)))
|
base64.b32encode(string)))
|
||||||
|
string = string.decode('utf-8')
|
||||||
conf.set(alias, "password", string)
|
conf.set(alias, "password", string)
|
||||||
conf.write(open(conf_file, "w"))
|
conf.write(open(conf_file, "w"))
|
||||||
|
|
||||||
|
@ -64,7 +69,7 @@ def ConnectAlias(alias, command=False):
|
||||||
if conf.has_option(alias, "password"):
|
if conf.has_option(alias, "password"):
|
||||||
password = base64.b32decode(base64.b16decode(
|
password = base64.b32decode(base64.b16decode(
|
||||||
base64.b64decode(conf.get(alias, "password"))))
|
base64.b64decode(conf.get(alias, "password"))))
|
||||||
exec_string = 'sshpass -p "' + password + '" '
|
exec_string = 'sshpass -p "' + password.decode('utf-8') + '" '
|
||||||
if conf.has_option(alias, "exec_string"):
|
if conf.has_option(alias, "exec_string"):
|
||||||
exec_string = exec_string + conf.get(alias, "exec_string")
|
exec_string = exec_string + conf.get(alias, "exec_string")
|
||||||
if command:
|
if command:
|
||||||
|
@ -118,7 +123,7 @@ def CMDGroup(group):
|
||||||
|
|
||||||
def CMDEdit(alias):
|
def CMDEdit(alias):
|
||||||
if conf.has_section(alias):
|
if conf.has_section(alias):
|
||||||
if conf.has_option(alias, "string"):
|
if conf.has_option(alias, "exec_string"):
|
||||||
prompt_edit = ("".join(["Enter connection string for existing alias ",
|
prompt_edit = ("".join(["Enter connection string for existing alias ",
|
||||||
"(example: ssh user@somehost.com):\n"]))
|
"(example: ssh user@somehost.com):\n"]))
|
||||||
string = ""
|
string = ""
|
||||||
|
@ -148,10 +153,9 @@ def CMDPassword(alias):
|
||||||
print("Can't set password for group.")
|
print("Can't set password for group.")
|
||||||
else:
|
else:
|
||||||
if conf.has_section(alias):
|
if conf.has_section(alias):
|
||||||
prompt_pass = ("[UNSAFE] Enter password for sshpass: ")
|
prompt_pass = ("[UNSAFE] Enter password for sshpass (Ctrl+C - cancel, blank - clear password):\n")
|
||||||
string = ""
|
string = ""
|
||||||
string = getpass(prompt_pass)
|
string = getpass(prompt_pass)
|
||||||
if not string == "":
|
|
||||||
SetPassword(alias, string)
|
SetPassword(alias, string)
|
||||||
else:
|
else:
|
||||||
print("error: '" + alias + "' alias does not exists")
|
print("error: '" + alias + "' alias does not exists")
|
||||||
|
@ -600,7 +604,6 @@ def CursesMain():
|
||||||
(height // 2) - 1, 3,
|
(height // 2) - 1, 3,
|
||||||
" Enter user password for sshpass and press 'enter':\n>",
|
" Enter user password for sshpass and press 'enter':\n>",
|
||||||
normal_text, highlight_text, "password")
|
normal_text, highlight_text, "password")
|
||||||
if not set_password == "":
|
|
||||||
SetPassword(strings[position - 1].split()[0].strip(), set_password)
|
SetPassword(strings[position - 1].split()[0].strip(), set_password)
|
||||||
strings = GetTreeList(False, expanded)
|
strings = GetTreeList(False, expanded)
|
||||||
stringsfull = GetTreeList(True, expanded)
|
stringsfull = GetTreeList(True, expanded)
|
||||||
|
|
Loading…
Reference in New Issue