我正在为自动同步本地和远程文件夹设置 lsyncd。我研究了许多可用的解决方案,还向 conf 文件添加了额外的参数。
我也用 PermitRootLogin without-password 更新了 sshd_config

此外,我可以使用密码 ssh 和 rsync 手动尝试不使用密码,但问题是当我通过 lsyncd 使用它时,它给出了 3 次权限被拒绝错误并退出(似乎它要求输入密码)。

lsyncd.conf.lua 文件

settings {
        logfile = "/var/log/lsyncd/lsyncd.log",
        statusFile = "/var/log/lsyncd/lsyncd.status",
        statusInterval = 10
}
sync {
    default.rsync,
    source="/home/gaurav/Desktop/source/",
    target="[email protected]:/root/destination/",
    rsync = {
        compress = true,
        acls = true,
        verbose = true,
        _extra = {"-P", "-e", "/usr/bin/ssh -p 22 -i /home/gaurav/.ssh/id_rsa -o StrictHostKeyChecking=no"}
    }
}

也尝试过这个。
settings = {
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status"
}

sync {
    default.rsyncssh,
    source = "/home/gaurav/Desktop/source/",
    host = "xxx.xxx.xx.xxx",
    targetdir = "/root/destination/"
}

日志
Sun Dec  7 17:18:09 2014 Normal: recursive startup rsync: /home/gaurav/Desktop/source/ -> [email protected]:/root/destination/
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]
Sun Dec  7 17:18:12 2014 Error: Temporary or permanent failure on startup of "/home/gaurav/Desktop/source/". Terminating since "insist" is not set.

最佳答案

如果您使用的是 ubuntu 12.04,则必须使用 rsyncOps 而不是 rsync = {} 块。

试试这个:

sync {
  default.rsync,
  source="/var/www/",
  target=server..":/var/www/",
  excludeFrom="/etc/lsyncd/lsyncd-excludes.txt",
  rsyncOps={"-e", "/usr/bin/ssh -o StrictHostKeyChecking=no", "-avz"}
}

https://www.stephenrlang.com/2015/12/how-to-install-and-configure-lsyncd/

关于ssh - Lsyncd 权限被拒绝(公钥、密码),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27342407/

10-09 22:25