Я пытаюсь загрузить свою первую дублирующую резервную копию на удаленный сервер, но это не удается. Я впервые использую этот инструмент, и раньше он не работал.
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
тоже работает.
Я не приму свой ответ, потому что это не решение проблемы, а всего лишь обходной путь. Но по крайней мере теперь я могу им пользоваться.