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
)