我有两个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",
}
我做错了什么?我该如何解决这个问题? 任何帮助,将不胜感激。谢谢。
答案 0 :(得分:0)
您可能想要使用键重新开始。
你应该真的是generating your own keys for each user。然后,对于要授予实例访问权限的每个用户,将其密钥添加到.ssh/authorized_keys
文件中,ec2-user
或create a user account for them first,并将其添加到authorized_keys
文件。
Amazon EC2生成的密钥应用于获取初始访问到您的实例。然后,正确的安全措施是删除该密钥并添加您自己的密钥。这样,您就可以通过自己的密钥对访问每个人,如果您希望撤消访问权限,可以将其删除。
虽然我不熟悉lsyncd
,但我怀疑如果ssh
工作,那么lsyncd
也可能会正常工作。
所以,快速摘要:
ssh-keygen
authorized_keys