Skip to content

SSH agent plugin does not add ssh keys consistently after each database unlock #2902

@coalwater

Description

@coalwater

Just to be clear the keys are added successfully after the initial db unlock after the app starts. but if the database gets locked automatically or manually, the subsequent database unlocks don't add the ssh keys.

Expected Behavior

Keepassxc should add the ssh private keys after each unlock, and if the keys already exist in the ssh-agent they still get re-added ( and the life time gets refreshed, that's the behavior I'm used to )

Current Behavior

The keys are added to the agent in the initial unlock, but not after subsequent unlocks.

Steps to Reproduce

  • Have a database with private keys
  • Exit the keepassxc session then upgrade to the new version ( 2.4.0 )
  • Delete all keys from your agent ssh-add -D
  • Start keepassxc and Unlock your database
  • Check the loaded keys by running ssh-add -l ( keys should exist this time )
  • Lock the database ( using ctrl+l ) or ( tools > lock databases )
  • Delete all keys again using ssh-add -D
  • Unlock the database again
  • Check if the keys exist again using ssh-add -l

The keys should exist at this point but they don't

If you close the whole app and restart it and unlock the database, the keys will be added as expected.

Debug Info

KeePassXC - Version 2.4.0
Revision: c51752d

Libraries:

  • Qt 5.12.2
  • libgcrypt 1.8.4

Operating system: Arch Linux
CPU architecture: x86_64
Kernel: linux 5.0.2-arch1-1-ARCH

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • SSH Agent
  • KeeShare (only unsigned sharing)
  • YubiKey

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions