-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Milestone
Description
ISSUE TYPE
- Improvement Request
COMPONENT NAME
API
CLOUDSTACK VERSION
master
OS / ENVIRONMENT
OS independent
SUMMARY
According to getPublicKeyFromKeyMaterial()@SSHKeysHelper.java, CloudStack only supports rsa and dss ssh public keys. It is better to accept ecdsa and ed25519.
public static String getPublicKeyFromKeyMaterial(String keyMaterial) {
if (!keyMaterial.contains(" "))
keyMaterial = new String(Base64.decodeBase64(keyMaterial.getBytes()));
if ((!keyMaterial.startsWith("ssh-rsa") && !keyMaterial.startsWith("ssh-dss")) || !keyMaterial.contains(" "))
return null;
String[] key = keyMaterial.split(" ");
if (key.length < 2)
return null;
return key[0].concat(" ").concat(key[1]);
}
STEPS TO REPRODUCE
Registering ed25519 ssh public key to CloudStack fails.
EXPECTED RESULTS
Succeeding registering ecdsa or ed25519 public keys.
Metadata
Metadata
Assignees
Labels
No labels