]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
orchestra: add ed25519key keytype to connection 1429/head
authorFeng Hualong <hualong.feng@intel.com>
Fri, 27 Mar 2020 09:48:05 +0000 (17:48 +0800)
committerFeng Hualong <hualong.feng@intel.com>
Fri, 27 Mar 2020 11:00:11 +0000 (19:00 +0800)
Signed-off-by: Feng Hualong <hualong.feng@intel.com>
teuthology/orchestra/connection.py

index 44e939be9e4a3910d96be410a9aeb38713389c02..20a3b8fb2496af84c87ad4d401babffd3eb06f94 100644 (file)
@@ -27,14 +27,16 @@ def split_user(user_at_host):
 
 def create_key(keytype, key):
     """
-    Create an ssh-rsa or ssh-dss key.
+    Create an ssh-rsa, ssh-dss or ssh-ed25519 key.
     """
     if keytype == 'ssh-rsa':
         return paramiko.rsakey.RSAKey(data=base64.decodestring(key.encode()))
     elif keytype == 'ssh-dss':
         return paramiko.dsskey.DSSKey(data=base64.decodestring(key.encode()))
+    elif keytype == 'ssh-ed25519':
+        return paramiko.ed25519key.Ed25519Key(data=base64.decodestring(key.encode()))
     else:
-        raise ValueError('keytype must be ssh-rsa or ssh-dss (DSA)')
+        raise ValueError('keytype must be ssh-rsa, ssh-dss (DSA) or ssh-ed25519')
 
 
 def connect(user_at_host, host_key=None, keep_alive=False, timeout=60,