0

我有两个 EC2 实例,我正在尝试在它们之间同步一个目录。

我已经在其中一个实例上设置了 lsyncd 服务,并且能够将目录同步到同一实例上的不同目录。现在我正在尝试将同一目录与第二个实例同步,但它不起作用。

它不起作用的原因是我无法将在第一个实例上生成的密钥ssh-keygen -t rsa放在第二个实例上,以允许它们相互访问。

我试过sudo ssh-copy-id -i /path/to/key ec2-user@ip-of-second-instance了,但没有用。我还尝试将公共部分从key.pub第一个实例的文件手动复制到~/.ssh/authorized_keys第二个实例的文件,但它也不起作用。

那是我的 lsynd 配置设置:

settings = {
    insist = true,
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status"}

sync {
        default.rsyncssh,
        source = "/home/ec2-user/IntSrv/Sync",
        host = "second-instance-ip",
        target = "/home/ec2-user/GenSrv/Sync",
}

我究竟做错了什么?我该如何解决这个问题?任何帮助,将不胜感激。谢谢你。

4

1 回答 1

0

您可能想重新开始使用这些键。

你真的应该为每个用户生成你自己的密钥。然后,对于您想要授予实例访问权限的每个用户,将他们的密钥添加到.ssh/authorized_keys文件中,ec2-user或者最好先为他们创建一个用户帐户并将其添加到他们的authorized_keys文件中。

Amazon EC2 生成的密钥应用于获得对您的实例的初始访问权限。然后,正确的安全做法是删除该密钥并添加您自己的密钥。这样,您就可以让每个人通过他们自己的密钥对进行访问,如果您希望撤销访问权限,可以将其删除。

虽然我不熟悉lsyncd,但我怀疑如果您开始ssh工作,那么lsyncd也可能会正常工作。

所以,快速总结:

  • 使用为您生成密钥ssh-keygen
  • 连接到所需的实例,并将您的公钥对添加到authorized_keys所需的用户主目录中
  • 使用这些密钥而不是 Amazon EC2 生成的密钥
于 2017-05-14T17:58:49.997 回答