gpg: cancelado pelo usuário

1

Tentando criar chaves GPG que serão usadas para um repositório apt hospedado na minha caixa Centos7. Eu criei um novo usuário "apt" e, em seguida, tentei criar as chaves, mas no final, ele afirma que eu preciso de uma frase secreta, mas, em seguida, fecha instantaneamente declarando cancelado pelo usuário. Não, não foi!

Eu tenho repetido com sucesso essas mesmas etapas como root e como meu nome de usuário padrão, que por acaso está no grupo de rodas.

Duas perguntas:

  1. É uma boa ideia usar diferentes chaves gpg para diferentes usos, como este repositório apt, e as chaves devem ser criadas como root?
  2. Por que não consigo criar uma chave gpg para esse usuário? Preciso primeiro criar alguma outra chave para esse usuário?

Obrigado

[apt@devserver ~]$ 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?
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) 1y
Key expires at Thu 12 Jul 2018 04:32:05 PM UTC
Is this correct? (y/N) y

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

Real name: somename
Email address: [email protected]
Comment:
You selected this USER-ID:
    "somename <[email protected]>"

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.
[apt@devserver ~]$
    
por user1032531 12.07.2017 / 18:47

1 resposta

8

Quanto ao erro "cancelado pelo usuário": o GnuPG tenta certificar-se de que está lendo a senha diretamente do terminal, e não (por exemplo) canalizado de stdin. Para fazer isso, ele tenta abrir o tty diretamente. Infelizmente, as permissões de arquivo atrapalham - o dispositivo tty é de propriedade do usuário no qual você faz login. Então, apenas esse usuário e root podem abri-lo. O GnuPG parece reportar o erro incorretamente, dizendo que você cancelou (quando na verdade ele recebeu uma permissão negada).

Quanto a se você deve ter uma chave separada para o repositório: sim. Há algumas razões que vêm à mente:

  • Um repositório pode ser mantido por mais de uma pessoa. Todos eles precisarão de acesso à chave. Você obviamente não quer dar a eles acesso à sua chave pessoal.
  • O software que processa novos pacotes precisará de acesso à chave. Para muitos repositórios, isso significa que você precisa manter a chave disponível em uma máquina conectada à Internet. Isso exige um nível de segurança menor do que você idealmente teria em sua chave pessoal.
  • Se você estiver processando envios automaticamente, talvez seja necessário armazenar a chave sem senha. Obviamente, reduz a segurança.
  • Em caso de comprometimento da sua chave pessoal, é bom ter apenas que revogar isso. Mesmo com comprometimento da chave do repositório. Isso faz com que a revogação de uma chave comprometida seja mais barata.

É bastante normal usar sua chave pessoal para assinar a chave do repositório.

Quanto à geração de chaves como root: não ideal (não execute as coisas como root sem uma boa razão), mas provavelmente não é realmente um problema.

    
por 12.07.2017 / 19:10