-
Type:
Bug
-
Resolution: Fixed
-
Priority:
High
-
Affects Version/s: 12.1.3
-
Component/s: SCP and SSH tasks
-
None
-
2
-
Severity 2 - Major
Issue Summary
The SCP task fails when using Ed25519 (ssh-ed25519) keys with the error "cannot identify EdDSA private key".
BAM-21903 was fixed in 12.1.3, a new failure now occurs at the private key signature step.
Steps to Reproduce
- Generate an Ed25519 key: ssh-keygen -t ed25519
- Configure the Ed25519 private key in Bamboo (Shared Credentials or inline)
- Create a deployment project with an SCP task targeting the remote host
- Run the deployment
Expected Results
File should transfer successfully to remote host
Actual Results
The below exception is thrown in the deployment logs:
19-May-2026 16:22:54 [host: linux-125507.prod.atl-cd.net] Failed to connect to host 19-May-2026 16:22:54 net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods 19-May-2026 16:22:54 at net.schmizz.sshj.SSHClient.auth(SSHClient.java:230) 19-May-2026 16:22:54 at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:345) 19-May-2026 16:22:54 at com.atlassian.bamboo.plugins.scp.ScpTask.lambda$execute$7(ScpTask.java:209) 19-May-2026 16:22:54 at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) 19-May-2026 16:22:54 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) 19-May-2026 16:22:54 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) 19-May-2026 16:22:54 at java.base/java.lang.Thread.run(Thread.java:1583) 19-May-2026 16:22:54 Caused by: net.schmizz.sshj.userauth.UserAuthException: cannot identify EdDSA private key 19-May-2026 16:22:54 at net.schmizz.sshj.userauth.UserAuthException$1.chain(UserAuthException.java:33) 19-May-2026 16:22:54 at net.schmizz.sshj.userauth.UserAuthException$1.chain(UserAuthException.java:26) 19-May-2026 16:22:54 at net.schmizz.concurrent.Promise.deliverError(Promise.java:95) 19-May-2026 16:22:54 at net.schmizz.sshj.userauth.UserAuthImpl.notifyError(UserAuthImpl.java:157) 19-May-2026 16:22:54 at net.schmizz.sshj.transport.TransportImpl.die(TransportImpl.java:604) 19-May-2026 16:22:54 at net.schmizz.sshj.transport.Reader.run(Reader.java:66) 19-May-2026 16:22:54 Caused by: net.schmizz.sshj.common.SSHException: cannot identify EdDSA private key 19-May-2026 16:22:54 at net.schmizz.sshj.common.SSHException$1.chain(SSHException.java:37) 19-May-2026 16:22:54 at net.schmizz.sshj.common.SSHException$1.chain(SSHException.java:30) 19-May-2026 16:22:54 at net.schmizz.sshj.transport.TransportImpl.die(TransportImpl.java:598) 19-May-2026 16:22:54 ... 1 more 19-May-2026 16:22:54 Caused by: net.schmizz.sshj.common.SSHRuntimeException: cannot identify EdDSA private key 19-May-2026 16:22:54 at net.schmizz.sshj.signature.AbstractSignature.initSign(AbstractSignature.java:68) 19-May-2026 16:22:54 at net.schmizz.sshj.userauth.method.KeyedAuthMethod.putSig(KeyedAuthMethod.java:101) 19-May-2026 16:22:54 at net.schmizz.sshj.userauth.method.AuthPublickey.sendSignedReq(AuthPublickey.java:74) 19-May-2026 16:22:54 at net.schmizz.sshj.userauth.method.AuthPublickey.handle(AuthPublickey.java:45) 19-May-2026 16:22:54 at net.schmizz.sshj.userauth.UserAuthImpl.handle(UserAuthImpl.java:143) 19-May-2026 16:22:54 at net.schmizz.sshj.transport.TransportImpl.handle(TransportImpl.java:495) 19-May-2026 16:22:54 at net.schmizz.sshj.transport.Decoder.decode(Decoder.java:113) 19-May-2026 16:22:54 at net.schmizz.sshj.transport.Decoder.received(Decoder.java:200) 19-May-2026 16:22:54 at net.schmizz.sshj.transport.Reader.run(Reader.java:60) 19-May-2026 16:22:54 Caused by: java.security.InvalidKeyException: cannot identify EdDSA private key 19-May-2026 16:22:54 at org.bouncycastle.jcajce.provider.asymmetric.edec.SignatureSpi.getLwEdDSAKeyPrivate(Unknown Source) 19-May-2026 16:22:54 at org.bouncycastle.jcajce.provider.asymmetric.edec.SignatureSpi.engineInitSign(Unknown Source) 19-May-2026 16:22:54 at java.base/java.security.Signature$Delegate.engineInitSign(Signature.java:1306) 19-May-2026 16:22:54 at java.base/java.security.Signature.initSign(Signature.java:595) 19-May-2026 16:22:54 at net.schmizz.sshj.signature.AbstractSignature.initSign(AbstractSignature.java:66) 19-May-2026 16:22:54 ... 8 more
Workaround
Use RSA keys (ssh-keygen -t rsa -b 4096) instead of Ed25519.