我可以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 系统。