Can't use an ed25519 key to connect to agent

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major
    • Component/s: ec2-plugin
    • Environment:
      Jenkins: 2.387.2
      ec2: 2.0.7
      OS: Linux - 4.14.311-233.529.amzn2.x86_64
      Java: 11.0.16 - Amazon.com Inc. (OpenJDK 64-Bit Server VM)

      Steps to reproduce

      1. Create a ed25519 key pair in ec2
      2. Add generated key to Jenkins credentials
      3. In ec2 cloud configuration set "EC2 Key Pair's Private Key" field to use the 2d25519 key
      4. Try to run a job using an ec2 agent

      Expected result
      Agent starts without problems

      Actual result
      Agent fails to start. Following error can be seen in Jenkins logs:

      SlaveTemplate{description='node', labels='ec2'}. Exception during provisioning
      java.io.IOException: unrecognised object: OPENSSH PRIVATE KEY
      	at org.bouncycastle.openssl.PEMParser.readObject(Unknown Source)
      	at jenkins.bouncycastle.api.PEMEncodable.decode(PEMEncodable.java:170)
      	at jenkins.bouncycastle.api.PEMEncodable.decode(PEMEncodable.java:150)
      	at hudson.plugins.ec2.EC2PrivateKey.getFingerprint(EC2PrivateKey.java:82)
      	at hudson.plugins.ec2.EC2PrivateKey.find(EC2PrivateKey.java:113)
      	at hudson.plugins.ec2.SlaveTemplate.getKeyPair(SlaveTemplate.java:1620)
      	at hudson.plugins.ec2.SlaveTemplate.provisionSpot(SlaveTemplate.java:1379)
      	at hudson.plugins.ec2.SlaveTemplate.provision(SlaveTemplate.java:904)
      	at hudson.plugins.ec2.EC2Cloud.getNewOrExistingAvailableSlave(EC2Cloud.java:718)
      	at hudson.plugins.ec2.EC2Cloud.provision(EC2Cloud.java:744)
      	at hudson.slaves.Cloud.provision(Cloud.java:210)
      	at hudson.slaves.NodeProvisioner$StandardStrategyImpl.apply(NodeProvisioner.java:726)
      	at hudson.slaves.NodeProvisioner.update(NodeProvisioner.java:325)
      	at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:823)
      	at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:92)
      	at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:67)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
      	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      Can't raise nodes for SlaveTemplate{description='node', labels='ec2'}
      

            Assignee:
            FABRIZIO MANFREDI
            Reporter:
            Pawel
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Archived: