我正在使用 rdiff-backup 将增量备份发送到我的本地服务器。我的主机是 Windows,我的远程是 Linux 机器。我试图让我的脚本执行以下操作:
command = os.system('rdiff-backup --exclude "**.dropbox**" --exclude "**.ini**" --remote-schema "ssh -i C:/Users/Adam/.ssh/id_rsa %s -p1019 rdiff-backup --server" C:/Users/Adam/Dropbox [email protected]::/mnt/disk1/Adam/Dropbox')
然而,在执行过程中我得到了以下提升:
Could not create directory '/home/Adam/.ssh'. The authentictity of host '[192.168.0.5]:1019 ([192.168.0.5]:1019)' can't be established. RSA key fingerprint is 2e:7c:f0:0c:4b:8d:fa:e1:21:a1:32:81:a0:e1:11:11. Are you sure you want to continue connecting (yes/no)?
我以为选项-i C:/Users/Adam/.ssh/id_rsa
会覆盖这个?每次执行脚本时都请求这个是不切实际的。我如何绕过这个问题,同时保持身份验证和安全性(因为我很快就会为我的笔记本电脑编写一个类似的脚本,但通过公共和远程机器发送增量备份)?
更新:
请阅读 grawity 的回答以及评论,以帮助您了解我哪里出错了以及如何修复它 - 当然是在 grawity 的帮助下。为了解决 Cygwin 的问题,Cannot create directory /home/USERNAME/.ssh
请参阅这篇博文。
passwd
“首先,在您的目录中找到名为的文件,然后使用写字板打开它。其次,用最后C:\path\to\cygwin\etc
替换文本,保存文件。”/home/YOUR_NAME
/cygdrive/c/Documents and Settings/YOUR_NAME
答案1
您看到的是...
The authentictity of host '[192.168.0.5]:1019 ([192.168.0.5]:1019)' can't be established.
...与您使用的用户身份验证密钥没有任何关系。该消息正在谈论主持人身份验证——确保服务器是正确的。
通常情况下,提示是一次性的,因为服务器的公钥存储在 中~/.ssh/known_hosts
。但是,在您的情况下,ssh
无法创建此文件,因为它无法创建父目录:
Could not create directory '/home/Adam/.ssh'.
失败的原因很可能是它/home/Adam
本身不存在,或者/home/Adam/.ssh
不是目录。请尝试使用 手动创建它mkdir
。
(另外:阅读错误信息也有帮助。)
答案2
您需要检查您的 ~/.ssh/known_hosts 中是否有 192.168.0.5 的条目,它可能已经发生了变化。
这是 ssh 客户端安全机制的一部分。请参阅 ssh 文档和手册页以了解更多信息。通过在 superuser.com 等网站上发帖提问是了解安全性的捷径。
但是,如果您的问题是如何覆盖并故意忽略它,请将此参数添加到您的命令行:
ssh -o StrictHostKeyChecking=no <...>
(并且请不要因此而责怪我。)
玩得开心。
答案3
我遇到了同样的问题。MINGW 的 SSH 实际上是路径 /home//.ssh 的 home
把你的 SSH 配置放在那里,它就会工作