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.