Назад | Перейти на главную страницу

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]

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

В качестве угла отладки попробуйте запустить 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)