diff options
Diffstat (limited to 'demos/demo.py')
-rwxr-xr-x | demos/demo.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/demos/demo.py b/demos/demo.py index b9bf7c3f..64539423 100755 --- a/demos/demo.py +++ b/demos/demo.py @@ -86,6 +86,17 @@ def manual_auth(username, hostname): password = getpass.getpass("DSS key password: ") key = paramiko.DSSKey.from_private_key_file(path, password) t.auth_publickey(username, key) + elif auth == "ecdsa-sk": + default_path = os.path.join(os.environ["HOME"], ".ssh", "id_ecdsa_sk") + path = input("ECDA-SK key [%s]: " % default_path) + if len(path) == 0: + path = default_path + try: + key = paramiko.ECDSASkKey.from_private_key_file(path) + except paramiko.PasswordRequiredException: + password = getpass.getpass("ECDSA-SK key password: ") + key = paramiko.ECDSASkKey.from_private_key_file(path, password) + t.auth_publickey(username, key) else: pw = getpass.getpass("Password for %s@%s: " % (username, hostname)) t.auth_password(username, pw) |