SSH を使用して EC2 インスタンスにログインするときに、キーペアの代わりにパスワードログインを有効にする方法を教えてください。

最終更新日: 2019 年 9 月 17 日

キーペアファイル (.pem) ではなく、パスワードを使用して SSH で Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにログインしたいのですが、どうすればよいですか? 

簡単な説明

パスワード認証を有効にするには、パスワードを作成し、/etc/ssh/sshd_config ファイルを更新してから、SSH サービスを再起動します。次の手順は、Amazon Linux、RHEL、SUSE、Ubuntu でテストされています。

注意: キーペア認証ではなくパスワードベースのログインを使用すると、セキュリティに影響があります。したがって、パスワードベースのログインは推奨されません。また、SSH 攻撃を防ぐために、インスタンスに関連付けられているセキュリティグループルールのソース IP アドレスを最小化することをお勧めします。

解決方法

1.    SSH クライアントから、EC2 インスタンスにログインします。

次のユーザー名のいずれかを使用します。

  • Amazon Linux の場合、ユーザー名は ec2-user です。
  • RHEL 5 の場合、ユーザー名は root または ec2-user です。
  • Ubuntu の場合、ユーザー名は ubuntu です。
  • SUSE Linux の場合、ユーザー名は root または ec2-user のいずれかです。

ec2-user または root が機能しない場合は、AMI プロバイダーに確認してください。

2.    ユーザーのパスワードを設定します。次の例では、ユーザーとして ec2-user を使用しています。

$ sudo passwd ec2-user
Changing password for user ec2-user.
New password:
Retype new password:

たとえば、正常なレスポンスは次のようになります。

passwd: all authentication tokens updated successfully.

3.    次のように、/etc/ssh/sshd_config ファイルの PasswordAuthentication パラメータを更新します。

PasswordAuthentication yes

4.    SSH サービスを再起動します。

Amazon Linux、RHEL 5、および SUSE Linux の場合、次のコマンドを使用します。

sudo service sshd restart

Ubuntu の場合は、次のコマンドを使用します。

sudo service ssh restart

5.    SSH クライアントを終了し、ログインしてパスワード認証をテストします。