Назад | Перейти на главную страницу

Ошибка дублированного резервного копирования: «Файл закрытого ключа зашифрован»

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

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

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

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

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

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

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

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

..ede / duply.net

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

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

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