Сбой резервного копирования: "Файл закрытого ключа зашифрован"

Я пытаюсь загрузить свою первую резервную копию двойственности на удаленный сервер, и это не удается. Это первый раз, когда я использую инструмент, и он не работал раньше.

duplicity /home/me/Documents/ scp://me@<ip-address>//home/me/bak

Это ответ, который я получаю:

BackendException: ssh connection to me@<ip-address>:22 failed: Private key file is encrypted
DEBUG:duplicity:BackendException: ssh connection to me@<ip-address>:22 failed: Private key file is encrypted

Вход через ssh работает отлично.

Я искал в Интернете, но не смог найти никакого возможного решения. Моя единственная догадка, что это может быть связано с моим .ssh каталог: который содержит несколько идентификаторов и, следовательно, несколько .pub и ключевые файлы

РЕДАКТИРОВАТЬ: с -v 9 Я получаю следующий вывод (намного больше, но только показывая последнюю часть):

ssh: Kex agreed: curve25519-sha256@libssh.org
DEBUG:sshbackend:Kex agreed: curve25519-sha256@libssh.org
ssh: HostKey agreed: ssh-ed25519
DEBUG:sshbackend:HostKey agreed: ssh-ed25519
ssh: Cipher agreed: aes128-ctr
DEBUG:sshbackend:Cipher agreed: aes128-ctr
ssh: MAC agreed: hmac-sha2-256
DEBUG:sshbackend:MAC agreed: hmac-sha2-256
ssh: Compression agreed: none
DEBUG:sshbackend:Compression agreed: none
ssh: kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
DEBUG:sshbackend:kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
ssh: Switch to new keys ...
DEBUG:sshbackend:Switch to new keys ...
Using temporary directory /tmp/duplicity-O8U6r5-tempdir
Level 5:duplicity:Using temporary directory /tmp/duplicity-O8U6r5-tempdir
Backend error detail: Traceback (innermost last):
  File "/usr/bin/duplicity", line 1581, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1567, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1406, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib/python2.7/site-packages/duplicity/commandline.py", line 1140, in ProcessCommandLine
    backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/lib/python2.7/site-packages/duplicity/commandline.py", line 1015, in set_backend
    globals.backend = backend.get_backend(bend)
  File "/usr/lib/python2.7/site-packages/duplicity/backend.py", line 223, in get_backend
    obj = get_backend_object(url_string)
  File "/usr/lib/python2.7/site-packages/duplicity/backend.py", line 209, in get_backend_object
    return factory(pu)
  File "/usr/lib/python2.7/site-packages/duplicity/backends/ssh_paramiko_backend.py", line 240, in __init__
    self.config['port'], e))
 BackendException: ssh connection to me@<ip-address>:22 failed: Private key file is encrypted

не говорит мне больше, хотя

3 ответа

Похоже , что бэкэнд paramiko в настоящее время не поддерживает парольную фразу для вашего секретного ключа.

пытаться pexpect+scp:// или лучше pexpect+sftp:// если возможно

альтернативно укажите секретный ключ, который вы хотите использовать через

--ssh-options="-oIdentityFile='/my/backup/id'"

и убедитесь, что он не защищен парольной фразой.

..ede / duply.net

То, что на самом деле работал, использует rsync в качестве бэкэнда.

Что, наконец, удивительно, я понятия не имею, почему scp бэкэнд не работал, так как чистый scp тоже работает

Я не приму мой собственный ответ, потому что на самом деле это не решение проблемы, а обходной путь. Но, по крайней мере, я могу использовать это сейчас.

У меня была аналогичная проблема с ключом-паролем. Установка ключа для следующих двух переменных среды решила эту проблему для меня:FTP_PASSWORDиPASSPHRASE

https://duplicity.readthedocs.io/en/latest/duplicity.backends.ssh_paramiko_backend.html

Другие вопросы по тегам