Help us understand the problem. What is going on with this article?

EC2のSSH接続でPermission denied(publickey)と出た時の対処法

More than 5 years have passed since last update.

原因と解決策

次の3パターンが考えられる
1. 間違った鍵で接続しようとしている。キーペアは正しいか確認する
2. 間違ったユーザー名で接続しようとしている。正しいユーザー名かどうか確認する
3. ホスト名が間違っている。ホスト名が正しいかどうか確認する。

これでもダメな場合

インスタンス内のSSH設定を確認
/etc/ssh/sshd_config

このあたりを確認

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords yes

設定を変えたら再起動

$ sudo service sshd restart

各項目補足

とりあえず PubkeyAuthentication 以外は no にしておいたほうが良い。

PermitRootLogin

rootユーザーでのログインを許可する設定。基本的にnoにすべき。
アプリケーションの都合でどうしてもrootユーザーでのログインが必要な場合はMatchを使ってクライアントを絞る。

PermitRootLogin no
Match Address 10.0.0.1
PermitRootLogin yes
PubkeyAuthentication

公開鍵認証を許可する設定。RSA鍵で認証するならyes。
noになってるとたぶんPermission denied(publickey)にはならずにパスワードを聞かれる。

PasswordAuthentication

パスワード認証を許可する設定。yesだとブルートフォース攻撃の的に。

PermitEmptyPasswords

パスワード認証の場合に空パスワードを許可するかどうか。
鍵のパスフレーズとは無関係。

おまけ

ChallengeResponseAuthentication

チャレンジレスポンス認証を許可する設定。noにしておく。
これがyesになっているとパスワードでログインできてしまう。ブルートフォース攻撃の的にされる。

AuthorizedKeysFile

鍵認証でのログインを許可するクライアントの共有鍵を定義するファイル。通常は %h/.ssh/authorized_keys とかになってるはず。
エラーメッセージがPermission denied (publickey). って出る場合は大体このauthorized_keysに書かれている公開鍵とクライアントの鍵が合ってないのが原因。
 ↓
1. 間違った鍵で接続しようとしている。キーペアは正しいか確認する
2. 間違ったユーザー名で接続しようとしている。正しいユーザー名かどうか確認する
3. ホスト名が間違っている。ホスト名が正しいかどうか確認する。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした