使用我的私钥,此命令允许我正常连接到 /home/backupUser/backup:
$ sudo sftp -oPort=7843 [email protected]:backup
但是当我运行 duplicity 时,出现以下错误:
duplicity full --exclude ... / scp://backupUser:[email protected]:7843:/backup
bash: [email protected]:7843./backup: No such file or directory
我假设duplicity
该路径会解释/backup
为相对于用户的主目录。
但由于上述命令不起作用,我还尝试/
在命令末尾删除备份目录中的
duplicity full --exclude ... / scp://backupUser:[email protected]:7843:backup
bash: [email protected]:7843:backup: command not found
这里我遗漏了什么吗,例如添加私钥的密码以使该命令起作用?
答案1
我认为你需要从命令中删除 :。请参阅这里
答案2
由于您正在使用 bash,我假设您想要连接到 Linux 用户,因此您应该尝试在 /directory 之前附加 ~ 符号,以便进入用户主目录。
我知道它应该是自动这样的,因为您尝试连接备份用户,但正如我在您的问题中看到的,您从 bash 获得的两个答案是不同的,一个是 ./backup,另一个是:backup,所以我认为您应该尝试使用 ~ 符号。
答案3
我假设 duplicity 会将 /backup 路径解释为相对于用户的主目录。
没错。但语法与正常scp
格式不同。删除冒号并重试:
duplicity full --exclude ... / scp://backupUser:[email protected]:7843/backup
答案4
尽管有得到 -1 的风险,我还是想澄清一下我们在重复格式上犯的常见错误(原始问题已经犯过)。
我们常常会忘记主机中的第二个“//”,例如:
duplicity full --exclude ... / scp://backupUser:[email protected]:7843:backup
错误在于(尽管有人指出它不应该是“:”)格式应该是:
duplicity full --exclude ... / scp://backupUser:[email protected]:7843//backup
我经常忘记使用“//”(尽管对我来说,我会遇到不同的错误)。