Alguma teoria
ssh-agent
é acessado por meio do soquete, que é armazenado na variável de ambiente chamada SSH_AUTH_SOCK
. Isso provavelmente se foi se você usar su
(por motivos de segurança). Você pode evitar esse comportamento usando a opção -m
como páginas de manual para su(1)
propõe:
-m, -p, --preserve-environment
Preserve the current environment, except for:
Mas (também por motivos de segurança), esse soquete é acessível apenas para o usuário que o criou:
$ ll $SSH_AUTH_SOCK
srwxrwxr-x 1 jakuje jakuje 0 Sep 2 21:23 /run/user/1000/keyring/ssh
Se você tem algum grupo seguro com o qual deseja compartilhar este soquete, você pode ajustar a ACL para este soquete, mas eu não recomendo que você torne o mundo gravável!
Para a pergunta
Depois de su
, você alterará o usuário e não terá mais acesso ao soquete original. Você precisará executar o novo ssh-agent
e adicionar as chaves a ele (e desbloqueá-las manualmente):
eval 'ssh-agent'
ssh-add path/to/your_key
A outra possibilidade é usar gnome-keyring-daemon
, que faz basicamente a mesma coisa, mas pode esconder isso por trás de alguma senha mestra (geralmente senha de login). Mas a questão não indica a ferramenta usada, então só posso adivinhar qual é a intenção.