linux - 2 个 AWS EC2 实例之间的 rsync : cannot locate . pem 文件

标签 linux amazon-web-services ubuntu amazon-ec2 rsync

需要一些帮助。
我想不时手动运行一个脚本来在我的生产和开发实例之间移动文件。
目前我有这个作为一个shell脚本:

rsync --progress -avz -e "ssh -vvv -i $HOME/.ssh/my-ubuntu-ec2.pem" ubuntu@:111.111.111.111/var/www/test /var/www/test
我的问题是我无法找到或联系 .pem 文件。我已经搜索了通常的地方并在整个系统中进行了文件搜索,但什么也没有。
有问题的 key 对是通过控制台创建的,我以通常的方式手动将 key 添加到 authorized_keys 中。我原以为控制台会将 key 部署到 EC2 实例,但情况似乎并非如此。至少,我找不到他们。
我相信有人会发现我哪里出错了!
提前致谢,
杰森

最佳答案

在 Amazon EC2 管理控制台中创建 key 对时, key 对(.pem 文件)会下载到您的计算机。这是私钥。
在控制台中创建 key 对不会将 key 放在任何现有的 Amazon EC2 实例上。但是,当启动一个新实例时,您可以选择一个 key 对,它将被添加到 /home/ec2-user/.ssh/authorized_keys文件。
如果你有私钥,你可以生成一个公钥 从 .pem 文件中:

ssh-keygen -y -f key.pem > key.pub
公钥应放在目标计算机的~/.ssh/authorized_keys 中。目标用户的文件(在您的命令示例中为 ubuntu)。
私钥应在源计算机上使用(根据您的代码示例中的 my-ubuntu-ec2.pem)。
如果您丢失了私钥,则需要生成一个新的并替换实例上的 key 。

关于linux - 2 个 AWS EC2 实例之间的 rsync : cannot locate . pem 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62679647/

相关文章:

linux - 当 Docker 镜像推送到我的 linux 机器上时未授权 : authentication required error display

linux - 在linux中合​​并两个csv文件

linux - libstdc++.so.6 错误 : cannot open shared object file: No such file or directory

amazon-web-services - AWS Lambda - 如何识别重复消息

amazon-web-services - 这是一个 AWS CloudFormation 模板,用于使用 Redis 引擎创建 ElastiCache 集群

到其他目录的 Html 链接在 Ubuntu 上无法正确链接

linux - 将 Mayavi 安装到 Anaconda 中

amazon-web-services - 有没有办法将 AWS 基础设施从一个区域转移到另一个区域?

mysql - 无法在ubuntu上使用tomcat6连接到mysql数据库

linux - 使用 snap 安装包后出错