文件更改时,将本地文件系统自动同步到远程,windows切换到unix

文件更改时,将本地文件系统自动同步到远程,windows切换到unix,windows,unix,ssh,Windows,Unix,Ssh,我们的团队目前在Mac上工作,通过rsync将文件更改推送到freeBSD,我们的编辑器是Komodo 1-用户保存文件 2-运行Komodo中的宏,并使用rsync命令将本地目录同步到远程目录 var rsyncCommand = "rsync -av --delete --filter="; rsyncCommand += "':- .gitignore'"; rsyncCommand += " "; rsyncCommand += "/local/ezpublish_git/" rsync

我们的团队目前在Mac上工作,通过rsync将文件更改推送到freeBSD,我们的编辑器是Komodo

1-用户保存文件 2-运行Komodo中的宏,并使用rsync命令将本地目录同步到远程目录

var rsyncCommand = "rsync -av --delete --filter=";
rsyncCommand += "':- .gitignore'";
rsyncCommand += " ";
rsyncCommand += "/local/ezpublish_git/"
rsyncCommand += " ";
rsyncCommand += "john@mydomain.com:/remote/dir/ezpublish_git/";
runEncodedCommand(窗口,rsyncCommand)

rsync命令的工作原理是每台机器都有一个ssh密钥设置

在一台windows机器上,我们发现了一个相当于rsync的windows,称为cwrsync,理论上应该是完全相同的,但是我在使用ssh密钥让windows机器通过ssh连接到远程时遇到了麻烦。我找到的关于通过ssh从windows自动连接到远程unix设备的每一篇文章都说使用PuTTY。这不是很好,因为Komodo运行windows命令行不是通过putty


那么,如何让windows通过ssh使用ssh密钥自动连接到unix设备,而不使用PuTTY呢?

我认为您的问题可能是其他使用rsync的客户端没有像在这些系统上那样明确地向rsync传递参数,指定通过ssh的隧道或私钥的位置,密钥通常放置在预先配置的位置,通常位于用户主目录的directory.ssh中,ssh可以在其中找到它。 来自cwRsync的ssh可能不是这样

您可能需要使用cwRsync指定这两个选项:

  • 使用SSH-keygen创建一个没有密码短语的新SSH密钥对(在cwRsync安装的bin\目录中有一个副本)。将其复制到适当的位置
  • 添加到rsync选项:-e“ssh-i私钥”

rsync和ssh也应该在bin\目录中。

ahhh。。好啊因此,“私钥”是我硬盘上的密钥位置,例如C:\Users\John\.ssh\id\u rsa.pub?几乎可以。“是”表示“密钥位置”,但不是id_rsa.pub-这是公钥,需要添加到远程服务器上的授权密钥文件中。您的私钥应该没有.pub endingOK,因此添加位置ie:-e“ssh-ic:\User\John\.ssh”太好了,我将尝试一下。谢谢你的帮助,还是不太好。你有两把钥匙,形成一对钥匙。公钥id_rsa.pub和私钥id_rsa。您需要指定私钥的名称和位置。