我在 debian wheezy 上使用 duplicity,它自带 0.6.18 版作为标准软件包。我还尝试了 wheezy-backports 的 0.6.24 版。
我想使用 sftp 作为后端,但如果我运行:
duplicity --full-if-older-than 1M --exclude /run --exclude /proc --exclude /lost+found --exclude /dev --exclude /sys --exclude /mnt / sftp://$FTP_USER"@"$FTP_HOSTNAME/myserver
我收到以下错误:
ssh: Exception: Incompatible ssh peer (no acceptable kex algorithm)
ssh: Traceback (most recent call last):
ssh: File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 1546, in run
ssh: self._handler_table[ptype](self, m)
ssh: File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 1618, in _negotiate_keys
ssh: self._parse_kex_init(m)
ssh: File "/usr/lib/python2.7/dist-packages/paramiko/transport.py", line 1731, in _parse_kex_init
ssh: raise SSHException('Incompatible ssh peer (no acceptable kex algorithm)')
ssh: SSHException: Incompatible ssh peer (no acceptable kex algorithm)
ssh:
我读到这可能与默认使用的 paramiko 后端有关,但是当我将其更改为 pexpect (...pexpect+sftp://...) 时出现此错误:
UnsupportedBackendScheme: scheme not supported in url: pexpect+sftp://
该问题如何解决?
答案1
尝试改变命令
duplicity /source-dir pexpect+sftp://backup.server.com/storage
到
duplicity /source-dir --ssh-backend=pexpect sftp://backup.server.com/storage
在 debian jessie 8.7 上使用 duplicity 0.6.24 进行了测试
男人口是心非:
--ssh-backend 后端
允许明确选择 ssh 后端。默认为 paramiko。
或者您也可以选择 pexpect。
方案“pexpect+sftp://”是在 duplicity 的后续版本中引入的。