allegro / axion-release-plugin

Gradle release & version management plugin.
https://axion-release-plugin.readthedocs.io/
Apache License 2.0
559 stars 153 forks source link

TransportException Auth fail on pushing tag since version 1.9.3 #270

Closed pula2000 closed 8 months ago

pula2000 commented 5 years ago

When running gradle release in my project locally I get the following error - Working on released version 1.0.3, nothing to release Pushing all to remote: origin Exception occurred during push: org.eclipse.jgit.api.errors.TransportException: ssh://git-codecommit.us-east-1.amazonaws.com/...: invalid privatekey: [B@566b395b

I am able to access aws code commit otherwise normally.

adamdubiel commented 5 years ago

Can you show the command/configuration of axion that you use? Are you pushing "by hand" using the same auht method? (private key)

pula2000 commented 5 years ago

plugins { id 'pl.allegro.tech.build.axion-release' version '1.9.3'
}

scmVersion { checks { uncommittedChanges = false } tag { prefix = '' } } group 'com....'' project.version = scmVersion.version

Command is - gradle release after "gradle clean build" was executed Even ran - "gradle release -Prelease.dryRun" in prior and that ran fine

Otherwise normally when I do git push/pull/clone with code commit it works fine. It seems to be failing when its trying to push the local tag.

adamdubiel commented 5 years ago

I think it might be connected with lack of ssh-agent support in 1.9.x versions (i just tried to fix it, see: #226), can you try with axion-release 1.8.1? If it works, it is definitely due to #226.

adamdubiel commented 5 years ago

I just published 1.10.0 version - can you try it out?

CBrophy commented 5 years ago

Hello! My team has also run into this error, and we've narrowed it down to a recent change to OpenSSH keygen https://www.openssh.com/txt/release-7.8

  • ssh-keygen(1): write OpenSSH format private keys by default instead of using OpenSSL's PEM format. The OpenSSH format, supported in OpenSSH releases since 2014 and described in the PROTOCOL.key file in the source distribution, offers substantially better protection against offline password guessing and supports key comments in private keys. If necessary, it is possible to write old PEM-style keys by adding "-m PEM" to ssh-keygen's arguments when generating or updating a key.

Generating a key using -m pem does indeed fix the problem. I don't know groovy or I would offer to attempt and submit a fix. Hopefully this is helpful.

adamdubiel commented 5 years ago

Looks like a great clue - i will try to work on it.

ppeg34 commented 5 years ago

Thanks, @CBrophy, for this lead.

dougmaitelli commented 5 years ago

Any updates on this?

Xawery94 commented 5 years ago

The problems occurs because ssh-agent has no identities. You need to add this after generating your ssh key. You can do this by

ssh-add

After that you can check if ssh-agent now has identities by

ssh-agent -l

After that process all should be good, it worked for me :)

ddietterich commented 4 years ago

Any updates on this?

Farix1337 commented 4 years ago

I worked around the the problem for windows 10 by using the git bash and ensuring that the ssh-agent is automatically running as described in: https://help.github.com/en/github/authenticating-to-github/working-with-ssh-key-passphrases#auto-launching-ssh-agent-on-git-for-windows But that means i need to call gradle via the git bash not via IDE internal tools =/