diff options
author | Christian Breunig <christian@breunig.cc> | 2023-12-13 07:54:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-13 07:54:43 +0100 |
commit | fc79bc088a69318ec960396b8757849e86c11f20 (patch) | |
tree | 1d377bb4c3f9e2b8cb66c43422e727053b09e191 | |
parent | dd64840da821e43667d77453b80010c36acc5d4e (diff) | |
parent | cf83979636c686a459d6dc75dcd98e342c70b1b3 (diff) | |
download | vyos-1x-fc79bc088a69318ec960396b8757849e86c11f20.tar.gz vyos-1x-fc79bc088a69318ec960396b8757849e86c11f20.zip |
Merge pull request #2622 from jestabro/obscure-passwd-on-install
image-tools: T5819: do not echo password on image install
-rw-r--r-- | python/vyos/utils/io.py | 9 | ||||
-rwxr-xr-x | src/op_mode/image_installer.py | 3 |
2 files changed, 9 insertions, 3 deletions
diff --git a/python/vyos/utils/io.py b/python/vyos/utils/io.py index 74099b502..0afaf695c 100644 --- a/python/vyos/utils/io.py +++ b/python/vyos/utils/io.py @@ -26,13 +26,18 @@ def print_error(str='', end='\n'): sys.stderr.write(end) sys.stderr.flush() -def ask_input(question, default='', numeric_only=False, valid_responses=[]): +def ask_input(question, default='', numeric_only=False, valid_responses=[], + no_echo=False): + from getpass import getpass question_out = question if default: question_out += f' (Default: {default})' response = '' while True: - response = input(question_out + ' ').strip() + if not no_echo: + response = input(question_out + ' ').strip() + else: + response = getpass(question_out + ' ').strip() if not response and default: return default if numeric_only: diff --git a/src/op_mode/image_installer.py b/src/op_mode/image_installer.py index b3e6e518c..9452c5e28 100755 --- a/src/op_mode/image_installer.py +++ b/src/op_mode/image_installer.py @@ -611,7 +611,8 @@ def install_image() -> None: print(MSG_WARN_IMAGE_NAME_WRONG) # ask for password - user_password: str = ask_input(MSG_INPUT_PASSWORD, default='vyos') + user_password: str = ask_input(MSG_INPUT_PASSWORD, default='vyos', + no_echo=True) # ask for default console console_type: str = ask_input(MSG_INPUT_CONSOLE_TYPE, |