
Я использую pass как бэкенд для aws-vault на удаленной машине, и похоже, что мне нужно вручную добавить "пароль" для профиля в gpg-agent, прежде чем aws-vault сможет его использовать. Без предварительной расшифровки пароля он выдаст ошибку
$ aws-vault exec --no-session --debug default -- aws s3 ls
2023/02/02 19:35:53 aws-vault v6.6.2
2023/02/02 19:35:53 Loading config file /home/<user>/.aws/config
2023/02/02 19:35:53 Parsing config file /home/<user>/.aws/config
2023/02/02 19:35:53 [keyring] Considering backends: [pass]
2023/02/02 19:35:53 profile default: using stored credentials
2023/02/02 19:35:53 profile default: skipping GetSessionToken because disabled
2023/02/02 19:35:53 Looking up keyring for 'default'
gpg: decryption failed: No secret key
aws-vault: error: exec: Failed to get credentials for default: exit status 2
но после запуска pass default
и ввода pass
пароля все работает, поскольку (я предполагаю) учетные данные теперь хранятся в gpg-agent в течение некоторого времени, и aws-vault может их правильно видеть.
Как заставить aws-vault запрашивать пароль, если он требуется? Вместо того, чтобы запускать его pass <profile>
сначала.
решение1
вы можете использовать переменную среды AWS_VAULT_FILE_PASSPHRASE для передачи парольной фразы. см. документацию здесьhttps://github.com/99designs/aws-vault/blob/master/USAGE.md#переменные-среды