使用 ssh -i rsync 到 EC2

使用 ssh -i rsync 到 EC2

我可以ssh -i mykey.pem访问 EC2。我可以scp -i mykey.pem访问 EC2。但是当我尝试时,rsync -avz -e "ssh -i mykey.pem"我收到此错误:

Warning: Identity file mykey.pem not accessible: No such file or directory.
Permission denied (publickey).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(605) [sender=3.0.9]

有什么建议我做错了吗?

答案1

确保.pem文件确实在您认为的位置。

尝试rsync -avz -e "ssh -i ./mykey.pem"使用./

注意:对于该示例,您.pem必须在当前工作目录中。如果在其他地方,则将其更改为使用绝对路径(/home/me/path/to/file.pem

答案2

作为调试角度,尝试ssh-agent在 shell 会话中运行正如在类似问题上的 SO 答案中所述。基本上,您ssh-agent在本地运行,添加您的密钥,然后查看rsync它是否正确获取。这样做的目的是清除其他错误,希望能够对真正的问题提供一些见解(因为我们在评论中已经找不到答案)。

命令字符串如下:

eval $(ssh-agent)
ssh-add path/to/mykey.pem
rsync -avz localfile remoteuser@ec2-instance:/remotelocation

这在我的环境中有效,可以访问我的 AWS 系统。

相关内容