I am trying to use the secret-service backend on an Arch Linux installation. The desktop is a XDM session started via systemd.
When running
aws-vault --backend secret-service add example
I get
aws-vault: error: No such interface “org.freedesktop.DBus.Properties” on object at path /
I am not certain how to dig deeper. I have also installed libsecret and gnome-keyring. A hint where to look would be appreciated.
Thanks for the nice tool! The file backend works smoothly.
I just had the same problem on a headless system.
Fix was to install a gnome desktop (on ubuntu 18.04 apt install ubuntu-mate-desktop will do it) which runs gnome-keyring-daemon properly.
Once I logged into the desktop, the keyring, dbus and aws-vault stuff worked as expected.
I was able to run this from a SSH session to the box and was prompted by a passphrase dialog box within my X session:
export AWS_VAULT_BACKEND=secret-service
aws-vault add foo
I can log back out of the box and log in and aws-vault uses secret-service fine.
I've also run the same setup using kde and kwalletd.
Hope that helps.
I ran into this issue too and I think I know why finally. dbus-monitor was super helpful here.
aws-vault tries to create a secret collection named awsvault. Creating a collection will normally cause gnome-keyring-daemon to pop-up a "prompt" dialog for setting a password on the new collection. But in a headless environment it can't do this so it doesn't register a Prompt provider on the path.
If aws-vault instead used the default login collection it works fine because that collection already exists and is unlocked so no prompt is needed.
I'm not sure if this is easily fixable in aws-vault because the collection name (as passed by the ServiceName attribute in the keyring.Config struct) is a fixed value. So this information is probably more useful for consumers of the https://github.com/99designs/keyring library.
I'm looking for ways to create a collection from a commandline without needing to prompt and I'll report back here if I find an existing tool for that
fwiw, I solved my misery by using vnc with twm/xintirc and using the method suggested at
https://wiki.archlinux.org/index.php/GNOME/Keyring#xinitrc_method
Still broke on headless systems following suggestion above, you will need to open the x session and do this for the gnome keyring prompt. I think the keyring tool doesn't support terminals at all, unfortunately.
this mirrors sovaradh's findings and workaround using twm/xinitirc.
sudo apt-get install -y gnome
reboot
gnome-keyring-daemon
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
aws-vault add name
still gets aws-vault: error: No such interface “org.freedesktop.DBus.Properties” on object at path /
It has been a long time and I cannot verify this any more. So I close the issue. Please feel free to re-open :-)
I am still hitting this. Running Ubuntu on Windows .. Ubuntu 20.04 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64)
Hmm. Okay. Unfortunately I do not AWS right now. I re-open the issue, but I would not know how to contribute.
Same here. Ubuntu 20.04, WSL 2, 5.4.51-microsoft-standard-WSL2
:/ Same for a native installation of POP_OS! 20.04 .
But running gnome-keyring-daemon -V once, then retrying aws-vault add myprofile again prompted me to add a new keyring, and no error message again.
I ran into this issue. My keyring entry disappeared and I had to re-add it.
It wouldn't work until I run gnome-keyring-daemon and then tried aws-vault add default
Most helpful comment
I ran into this issue too and I think I know why finally.
dbus-monitorwas super helpful here.aws-vault tries to create a secret collection named
awsvault. Creating a collection will normally cause gnome-keyring-daemon to pop-up a "prompt" dialog for setting a password on the new collection. But in a headless environment it can't do this so it doesn't register a Prompt provider on the path.If aws-vault instead used the default
logincollection it works fine because that collection already exists and is unlocked so no prompt is needed.I'm not sure if this is easily fixable in aws-vault because the collection name (as passed by the
ServiceNameattribute in thekeyring.Configstruct) is a fixed value. So this information is probably more useful for consumers of the https://github.com/99designs/keyring library.I'm looking for ways to create a collection from a commandline without needing to prompt and I'll report back here if I find an existing tool for that