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