cod*_*mok 8 ssh script cygwin python rdiff-backup
我的脚本正在执行以下命令:
command = os.system('rdiff-backup --exclude "**.dropbox**" --exclude "**.ini**" --remote-schema "ssh -o UserKnownHostsFile=/cygdrive/c/Users/Adam/.ssh/known_hosts -i /cygdrive/c/Users/Adam/.ssh/id_rsa %s -p1019 rdiff-backup --server" C:/Users/Adam/Dropbox pi@192.168.0.5::/mnt/disk1/Adam/Dropbox')
Run Code Online (Sandbox Code Playgroud)
如您所见,我已经告诉它在哪里查找 known_hosts 文件夹并告诉它密钥在哪里 - 如果没有这两个问题,我会不断被问到将我的服务器添加到 known_hosts 每次执行并被要求输入密码, 每次执行。很遗憾 SSH 无法独立定位这些,我的假设是它总是在同一个目录下工作,C:\Users\Adam\.ssh?
Anywho,我现在得到的唯一错误消息是Could not create directory '/home/Adam/.ssh'- 我已经确保我当前用户的 HOME 变量是正确的,但它似乎仍然找不到 .ssh 文件夹。脚本执行没有问题,只是这个烦人的错误信息。我正在使用 Cygwin 的 SSH 包,我不确定这有多重要?另外,我.ssh使用 Rsync 的 ssh.exe 文件生成了目录,而不是 Cygwin 的。这很重要吗?
cod*_*mok 11
我在这篇博文中找到了我的解决方案的答案。
“首先找到名为该文件passwd在C:\path\to\cygwin\etc目录中,并用写字板打开它。其次,替换文本/home/YOUR_NAME与/cygdrive/c/Documents and Settings/YOUR_NAME最后保存文件。”
更新
有些人报告说,将 %USERPROFILE% 作为值添加到名为“HOME”的系统变量中是可行的。