2 个 AWS EC2 实例之间的 rsync:找不到 .pem 文件

rsync between 2 AWS EC2 insatnces: cannot locate .pem file

需要一点帮助。

我想不时地手动 运行 一个脚本来在我的生产实例和开发实例之间移动文件。

目前我将其作为 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 文件。我搜索了常用的地方并在整个系统中进行了文件搜索,但没有任何结果。

有问题的密钥对是通过控制台创建的,我以通常的方式手动将密钥添加到 authorized_keys。我原以为控制台会将密钥部署到 EC2 实例,但事实似乎并非如此。至少,我找不到。

我相信有人会发现我哪里出错了!
提前致谢,
杰森

在 Amazon EC2 管理控制台中创建密钥对时,密钥对(.pem 文件)会下载到您的计算机。这是私钥。

在控制台中创建密钥对不会将密钥放在任何现有的 Amazon EC2 实例上。但是,在启动新实例时,您可以 select 一个密钥对,它将被添加到 /home/ec2-user/.ssh/authorized_keys 文件中。

如果您有私钥,您可以使用以下命令从 .pem 文件生成 public 密钥

ssh-keygen -y -f key.pem > key.pub

public 密钥应放置在目标计算机的目标用户的 ~/.ssh/authorized_keys 文件中(在您的命令示例中为 ubuntu)。

私钥应在源计算机上使用(根据代码示例中的 my-ubuntu-ec2.pem)。

如果您丢失了私钥,您将需要生成一个新私钥并替换实例上的密钥。