From e56fa313793855800a5174fdb5cf79a96d1ba519 Mon Sep 17 00:00:00 2001 From: Kai Takahashi <39983652+cl-k-takahashi@users.noreply.github.com> Date: Fri, 6 Dec 2019 21:54:35 +0900 Subject: [PATCH] ssh: Add support for ecdsa and ed25519 public keys (#3740) See #3705 Fixes: #3705 Signed-off-by: Kai Takahashi --- .../src/main/java/com/cloud/utils/ssh/SSHKeysHelper.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/utils/src/main/java/com/cloud/utils/ssh/SSHKeysHelper.java b/utils/src/main/java/com/cloud/utils/ssh/SSHKeysHelper.java index f80baaf47a1..f25881ca09b 100644 --- a/utils/src/main/java/com/cloud/utils/ssh/SSHKeysHelper.java +++ b/utils/src/main/java/com/cloud/utils/ssh/SSHKeysHelper.java @@ -88,7 +88,13 @@ public class SSHKeysHelper { if (!keyMaterial.contains(" ")) keyMaterial = new String(Base64.decodeBase64(keyMaterial.getBytes())); - if ((!keyMaterial.startsWith("ssh-rsa") && !keyMaterial.startsWith("ssh-dss")) || !keyMaterial.contains(" ")) + if ((!keyMaterial.startsWith("ssh-rsa") + && !keyMaterial.startsWith("ssh-dss") + && !keyMaterial.startsWith("ecdsa-sha2-nistp256") + && !keyMaterial.startsWith("ecdsa-sha2-nistp384") + && !keyMaterial.startsWith("ecdsa-sha2-nistp521") + && !keyMaterial.startsWith("ssh-ed25519")) + || !keyMaterial.contains(" ")) return null; String[] key = keyMaterial.split(" ");