【问题标题】:rsync local file system to remote automatically on file change, windows to unixrsync 本地文件系统在文件更改时自动远程,Windows 到 unix
【发布时间】:2014-07-23 18:22:45
【问题描述】:

我们的团队目前在 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/";

ko.run.runEncodedCommand(window, rsyncCommand);

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

在 Windows 机器上,我们发现了一个与 rsync 等效的窗口,称为 cwrsync,理论上它应该做的完全一样,但我无法让 Windows 机器使用 ssh 密钥通过 ssh 连接到远程。我发现的每篇关于通过 ssh 从 Windows 自动连接到远程 unix 框的帖子都说使用 PuTTY。这不是很好,因为 Komodo 不是通过 putty 运行 windows 命令行。

那么我怎样才能在不使用 PuTTY 的情况下通过 ssh 使用 ssh 密钥让 windows 自动连接到 unix 机器?

【问题讨论】:

    标签: windows unix ssh


    【解决方案1】:

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

    您可能需要使用 cwRsync 指定两者:

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

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

    【讨论】:

    • 啊……好吧。那么“私钥”会是我硬盘上密钥的位置,例如 C:\Users\John\.ssh\id_rsa.pub 吗?
    • 差不多。 “是”表示“密钥位置”,但不是 id_rsa.pub - 这是公钥,需要添加到远程服务器上的 authorized_keys 文件中。您的私钥不应以 .pub 结尾
    • 好的,所以添加位置,即:-e "ssh -i c:\User\John\.ssh" 太好了,我会试一试。感谢您的帮助。
    • 还不完全。您有两个密钥,形成一个密钥对。公钥 id_rsa.pub 和私钥 id_rsa。您需要指定私钥的名称和位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2022-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    相关资源
    最近更新 更多