From f5ff29e924a19b0417ae375b8d1cc128793b27eb Mon Sep 17 00:00:00 2001 From: mykola Date: Tue, 18 May 2021 16:05:07 +0300 Subject: [PATCH 1/2] Added support of Ed25519Key and password-protected keys. --- panoply/ssh.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/panoply/ssh.py b/panoply/ssh.py index b4b11d6..1c843ac 100644 --- a/panoply/ssh.py +++ b/panoply/ssh.py @@ -2,7 +2,7 @@ Module for storing SSH related stuff """ from typing import Dict -from paramiko import RSAKey +from paramiko import RSAKey, Ed25519Key, SSHException from sshtunnel import SSHTunnelForwarder from io import StringIO @@ -132,7 +132,12 @@ def _get_server(self, platform_ssh: bool): if platform_ssh: return None - pkey = RSAKey.from_private_key(StringIO(self.tunnel["privateKey"])) + try: + pkey = RSAKey.from_private_key(StringIO(self.tunnel["privateKey"]), + password=self.tunnel.get("password")) + except SSHException: + pkey = Ed25519Key.from_private_key(StringIO(self.tunnel["privateKey"]), + password=self.tunnel.get("password")) server = SSHTunnelForwarder( ssh_address_or_host=(self.tunnel["host"], self.tunnel["port"]), From b99921479f0b3a965bf304ea369e1ab40f65d72f Mon Sep 17 00:00:00 2001 From: mykola Date: Tue, 18 May 2021 16:06:34 +0300 Subject: [PATCH 2/2] bump version --- panoply/constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panoply/constants.py b/panoply/constants.py index 2bf2379..a943147 100644 --- a/panoply/constants.py +++ b/panoply/constants.py @@ -1,2 +1,2 @@ -__version__ = "2.0.4" +__version__ = "2.0.5" __package_name__ = "panoply-python-sdk"