keybase-issues
keybase-issues copied to clipboard
gpg: signing failed: Inappropriate ioctl for device
When trying to use the bash+curl verifying method on a server, this cryptic error message might happen:
gpg: signing failed: Inappropriate ioctl for device
Since this is a fatal error and also quite difficult to debug, maybe the fix could be put somewhere (in the provided command line?):
export GPG_TTY=$(tty)
I cannot tell you how grateful I am to you!
@dryvenn You are a life saver! THX!
You're a saviour! Helped me on Fedora.
really thanks a lot
Wow, you are so cool, helped me a lot!
Thank you so so much!!!
Thanks a tonne man!!. Helped me on debian 9.
helped me a lot also! thank you
Cheers!.
You're truly rockstar man! π₯ Thanks!
Amazing really thanks a lot
Oh wow. And I was pulling my hair that my key has expired which it definitely didn't. I don't know why I was thinking its 2019 for some reason. Thank you.
works inside a docker container Deian stretch both host and container
Sadly, no tty on travis-ci or appveyor. GPG 2.1.11 comes with ubuntu 16.04 throw out a invalid error if I add 'pinentry-mode loopback' into ~/.gnupg/gpg.conf. Various versions of gpg wasted lot of my time and I think it is a piece of shit, they don't test it on different environments?
This doesn't work for me because when I add that setting GPG doesn't sign some artefacts properly anymore.
@chshawkn Travis-CI - in my opinion - is a very questionable CI solution... Call me classy, but I'm still using Jenkins and it never ever failed me regardless of the task and environment I used. With Windows slave all the problems were gone when I used WinSSHD - just write your scripts properly and have fun
@netsafe Thanks for your advice. I use Gitlab CI/CD and Jenkins on private projects. Travis-CI is for public repositories.
I've solved the GPG issues on Gitlab CI/CD, Travis-CI and AppVeyor, one script works on all CI platforms.
see: https://github.com/ci-and-cd/maven-build/blob/develop/src/main/ci-script/lib_ci.sh#L702
worked for me on Ubuntu 18... thanks
I cannot thank you enough! β€οΈ Hours were lost debugging this π
Wow, can't believe how many thumbs this issue has. I had a half a mind to update the website to fill in GPG_TTY=$(tty)
as suggested in this issue, but that only works in bash
, and the current command line seems to work in tcsh
too. Looks like we need a flow here to: (1) have users select their shell; and (2) to give you the right command to setenv
given the shell. I guess alternatively we can always run bash -c 'lots of commands | other commands'
, but we'd need another level of quoting.
It also works on OSX using zsh
. Thanks!
@dryvenn nice, works on nixos.
It works! Thank you so much!
@dryvenn thank you, works on ubuntu subsystem.
zsh support
Thank you!
Kudos!!!! This saves me a lot of time. Appreciated.
Thank you so much!
I had this problem where I had my user.signingKey
set to the correct value in Git on Ubuntu 18.04 after following this tutorial, but I was still unable to sign commits. Every time I tried, I got this error:
error: gpg failed to sign the data
fatal: failed to write commit object
This fixed that right up. Thanks again!
You saved my life and my semester :')
Thanks a lot @dryvenn π
πNice find!
Couldn't thank you enough!! Scratching my head since 2 hours trying to understand what is happening!