LoginSignup
6
3

More than 3 years have passed since last update.

AWSのEC2にSSH接続できない(Permission denied (publickey).と出る)

Last updated at Posted at 2021-04-03

環境

  • macOS
  • EC2
  • AMIは、Deep Learning AMI (Ubuntu 16.04) ← ここがミソ

問題

  • ローカルのターミナルから、EC2インスタンスにログインする際に、
$: ssh -i keypair_for_xxxx.pem ec2-user@xx.xx.xx.xx
ec2-user@xx.xx.xx.xx: Permission denied (publickey).

とエラーが出てログインできない。

  • なお、プライベートキーへの権限やpathなどは問題ない

原因

ユーザー名がec2-userではなく、ubuntuだった。
今まで、Railsで開発したアプリケーションを動かしていたため、AMIとしてAmazon Linux 2 または Amazon Linux AMIを用いてきた。そのユーザー名がec2-userだったため、デフォルトでユーザー名はec2-userだと思っていた。
しかし、AMIが異なるとユーザー名が異なることが分かった。

Amazon Linux 2 または Amazon Linux AMI の場合は、ユーザー名は ec2-user です。
CentOS AMI の場合、ユーザー名は centos です。
Debian AMI の場合は、ユーザー名は admin です。
Fedora AMI の場合、ユーザー名は ec2-user または fedora です。
RHEL AMI の場合は、ユーザー名は ec2-user または root のどちらかです。
SUSE AMI の場合は、ユーザー名は ec2-user または root のどちらかです。
Ubuntu AMI の場合は、ユーザー名は ubuntu です。

参考: https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/managing-users.html

解決

以下のようにユーザー名を変えたら接続できた。

$: ssh -i keypair_for_xxxx.pem ubuntu@xx.xx.xx.xx
6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3