Duplicity 错误:BackendException:与 SERVER_IP:22 的 ssh 连接失败

Duplicity 错误:BackendException:与 SERVER_IP:22 的 ssh 连接失败

以前,这个工具运行得很好,直到我不得不更改服务器 IP。

我可以通过 sftp 连接到服务器。我还可以运行一个简单的python 代码使用 paramiko 连接到 sftp,并且工作正常。

但是当我运行 duplicity 时,它失败了:

Duplicity error: BackendException: ssh connection to SERVER_IP:22 failed
('SERVER_IP', <paramiko.ed25519key.Ed25519Key object at 0x7f8fec54f710>,
paramiko.ed25519key.Ed25519Key object at 0x7f8fec53e4d0>)

我尝试编辑sshbackend.py,在我的发行版中ssh_paramiko_backend.py,如下这里解释作为一个可能的解决办法但没有起作用。

确切的 duplicity 命令是:

duplicity --full-if-older-than 1M [SOURCE] sftp://[USER]@[SERVER_IP] --volsize 666 --verbosity 8 --allow-source-mismatch

正在设置密码export FTP_PASSWORD=[pass]。我也尝试在命令中传递密码,但出现了同样的错误。

root@server:~# ssh -V
OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g  1 Mar 2016

root@server:~# duplicity -V
duplicity 0.7.06

root@server:~# python -c "import paramiko; print paramiko.__version__"
2.2.0

答案1

有用吗pexpect+sftp://?..ede/duply.net

答案2

在目标服务器上

将以下行添加到 /etc/ssh/sshd_config:

PubkeyAcceptedKeyTypes +ssh-rsa

然后重启 sshd

systemctl restart sshd

答案3

如果通过连接到 SFTP 备份duplicity并且收到“没有可用的身份验证方法”错误,请确保使用--ssh-askpassduplicity 参数。

--ssh-askpass 告诉 sftp/scp 后端使用环境中的 FTP_PASSWORD,或者,如果不存在,则提示用户输入远程系统密码。此密码还用于受密码保护的 ssh 密钥。如果没有此选项,则密码应在 url 中。

https://linux.die.net/man/1/duplicity

相关内容