rsync к EC2, используя ssh -i

Я могу 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]

Есть предложения, что я сделал не так?

2 ответа

В качестве угла отладки попробуйте запустить ssh-agent в вашей сессии оболочки, как описано в этом SO ответ на аналогичный вопрос. В основном вы бежите ssh-agent локально, добавьте свой ключ, а затем посмотрите, rsync подбирает это правильно. Идея состоит в том, чтобы избавиться от какой-то другой ошибки, мы надеемся, дать некоторое представление о реальной проблеме (так как в комментариях мы не упоминались).

Командная строка такова:

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

Это работает в моей среде для доступа к моим системам AWS.

Убедитесь, что .pem Файл действительно там, где вы думаете.

Пытаться rsync -avz -e "ssh -i ./mykey.pem" используя ./,

Примечание: для этого примера ваш .pem должен быть внутри текущего рабочего каталога. Если это в другом месте, то измените его, чтобы использовать абсолютный путь (/home/me/path/to/file.pem)

Другие вопросы по тегам