Я знаю, что на этот вопрос уже был дан ответ, но для тех, кто попробовал их все, и вы все еще получаете надоедливый "Отказано в доступе (publickey)".Попробуйте запустить свою команду с SUDO.Конечно, это временное решение, и вы должны правильно установить разрешения, но, по крайней мере, это позволит вам определить, что ваш текущий пользователь не работает с нужными вам привилегиями (как вы и предполагали)
sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com
Как только вы сделаете это, вы получите сообщение, подобное этому:
Please login as the user "ec2-user" rather than the user "root"
, что также редко документировано.В таком случае просто сделайте это:
sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com -l ec2-user
И вы получите великолепное:
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|