My Journey to the cloud…

In pursuit of excellence….

Error – gpg: cancelled by user/gpg: Key generation canceled.

While generating gpg key, I was getting error where the screen automatically goes off and the control immediately comes back stating below

gpg: cancelled by user
gpg: Key generation canceled.

-bash-4.2$ gpg --gen-key
gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 4
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: svc_WellsFargo
Email address:
You selected this USER-ID:
    "svc_WellsFargo <>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

gpg: cancelled by user
gpg: Key generation canceled.

Solution Applied: It bugged a lot and finally googled the solution (putting it here for the sake of everyone)
As a root user, run below command

$ chmod o+rw $(tty)

Happy reading !!!
Anand M


7 responses to “Error – gpg: cancelled by user/gpg: Key generation canceled.”

  1. Solution1: Exit the user if you are on su user and with your user change tty permission to read and write: Use command “ps” to get the tty detail and then change its permission. example: “chmod 666 /dev/pts/1”. Once tty permission changed, then switch user back to su and start generating a new key-pair($gpg –gen-key) it will work and prompt for passphrase.

    Solution2: Install screen($sudo yum install screen) if machine does not have, and then Run “screen” and start follow all steps of generating a new key-pair ($gpg –gen-key).

  2. Veeraraghavulu Akkari Avatar
    Veeraraghavulu Akkari

    Hats off! you have saved a lot of time and effort in resolving the issue.

    1. Thanks and Glad to know that it helped.

  3. Gustavo Restuccia Avatar
    Gustavo Restuccia

    Hey Anand.
    I was facing same issue and I was able to fix it quickly using this article.
    Thanks a lot!

    1. Thanks Gustavo that this really helped you.

  4. Krishna Kattula Avatar
    Krishna Kattula

    Thanks a lot Anand, I had the same issue and was able to fix with your solution

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

About Me

I’m a Hands-On Technical & Entrprise Solutions Architect based out of Houston, TX. I have been working on Oracle ERP, Oracle Database and Cloud technologies for over 20 years and still going strong for learning new things.

You can connect me on Linkedin and also reach out to me

I am certified for 8x AWS, OCP (Oracle Certified Professionals), PMP, ITTL and 6 Sigma.


This is a personal blog. Any views or opinions represented in this blog are personal and belong solely to the blog owner and do not represent those of people, institutions or organizations that the owner may or may not be associated with in professional or personal capacity, unless explicitly stated.
All content provided on this blog is for informational purposes only. The owner of this blog makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site.

The owner will not be liable for any errors or omissions in this information nor for the availability of this information. The owner will not be liable for any losses, injuries, or damages from the display or use of this information. Any script available on the blog post MUST be tested before they are run against Production environment.


%d bloggers like this: