So I've learned I'm a terrible person who should verify my backup scripts far more frequently since this bug appears to have been around since fall 2015 and I only now realized it. Also running into this same problem and only figured it out when Google turned up this bug report.
Duply/duplicity will not run at all since 1.11-1. I had to roll back to 1.9.1-1 from stable to get things working again. I am encrypting with a passphrase only. GPG_PW='my passphrase' Start duply v1.11, time is 2016-05-08 07:47:35. Using profile '/home/matt/.duply/dreamhost'. Using installed duplicity version 0.7.07.1, python 2.7.11+, gpg 1.4.20 (Home: ~/.gnupg), awk 'GNU Awk 4.1.3, API: 1.1 (GNU MPFR 3.1.4, GNU MP 6.1.0)', grep 'grep (GNU grep) 2.25', bash '4.3.42(1)-release (x86_64-pc-linux-gnu)'. Signing disabled. Not GPG_KEY entries in config. Checking TEMP_DIR '/tmp' is a folder and writable (OK) Test - Encryption with passphrase (OK) Test - Decryption with passphrase (OK) Test - Compare (OK) Cleanup - Delete '/tmp/duply.17141.1462711656_*'(OK) --- Start running command STATUS at 07:47:36.605 --- Traceback (most recent call last): File "/usr/bin/duplicity", line 1544, in <module> with_tempdir(main) File "/usr/bin/duplicity", line 1538, in with_tempdir fn() File "/usr/bin/duplicity", line 1376, in main action = commandline.ProcessCommandLine(sys.argv[1:]) File "/usr/lib/python2.7/dist-packages/duplicity/commandline.py", line 1109, in ProcessCommandLine globals.backend = backend.get_backend(args[0]) File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 223, in get_backend obj = get_backend_object(url_string) File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 209, in get_backend_object return factory(pu) File "/usr/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 166, in __init__ self.resetConnection() File "/usr/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 188, in resetConnection self.conn = get_connection(self.scheme, self.parsed_url, self.storage_uri) File "/usr/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 99, in get_connection is_secure=(not globals.s3_unencrypted_connection)) File "/usr/lib/python2.7/dist-packages/boto/storage_uri.py", line 117, in connect **connection_args) File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 190, in __init__ validate_certs=validate_certs, profile_name=profile_name) File "/usr/lib/python2.7/dist-packages/boto/connection.py", line 569, in __init__ host, config, self.provider, self._required_auth_capability()) File "/usr/lib/python2.7/dist-packages/boto/auth.py", line 987, in get_auth_handler 'Check your credentials' % (len(names), str(names))) NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials 07:47:38.482 Task 'STATUS' failed with exit code '30'. --- Finished state FAILED 'code 30' at 07:47:38.482 - Runtime 00:00:01.877 ---