1. ホーム
  2. amazon-web-services

[解決済み】Amazon EC2インスタンスにSSHアクセスするとパーミッションが拒否される(publickey)【終了しました

2022-04-15 21:01:11

質問

Amazon ec2インスタンスを使用したいのですが、以下のエラーが発生します。

Permission denied (publickey).

キーペアを作成し、ダウンロードした .pem ファイルを作成します。

与えられた。

chmod  600 pem file.

次に、このコマンド

ssh -i /home/kashif/serverkey.pem  [email protected]

しかし、このようなエラーが発生します。

Permission denied (publickey)

また filezillaに接続して、ファイルをアップロード/ダウンロードするにはどうすればよいですか?

解決方法は?

このエラーメッセージは、認証に失敗したことを意味します。

これらはよくある理由です。

  1. 間違ったキーで接続しようとした。このインスタンスがこのキーペアを使用していることは間違いないですか?
  2. 間違ったユーザー名で接続しようとしています。 ubuntu は、ubuntuベースのAWSディストリビューションでのユーザー名ですが、他のいくつかのディストリビューションでは ec2-user (または admin は、Bogdan Kulbida の回答によると、いくつかの Debian で使用されているようです。 root , fedora を参照)
  3. 間違ったホストに接続しようとしています。ログインしようとしているホストは正しいですか?

注意点 1. をめちゃくちゃにした場合にも起こります。 /home/<username>/.ssh/authorized_keys ファイルをEC2インスタンス上に作成します。

について 2. AMIイメージの説明では、どのユーザー名を使うべきかという情報が不足していることが多い。しかし、AWS EC2のドキュメントには、箇条書きで記載されています。 4. : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

インスタンスに接続するにはsshコマンドを使用します。秘密鍵(.pem)ファイルとuser_name@public_dns_nameを指定することになります。Amazon Linuxの場合、ユーザ名はec2-userです。RHEL5の場合、ユーザ名はrootまたは ec2-user . Ubuntuの場合、ユーザー名は ウブントゥ . Fedora の場合、ユーザー名は フェドラ または ec2-user . SUSE Linuxの場合、ユーザ名は ルート . その他、ec2-userやrootが動作しない場合は、AMIプロバイダに確認してください。

最後に 認証に失敗する理由は他にもたくさんあることを認識しておいてください。SSH は通常、何が問題だったのかをかなり明確に教えてくれます。 -v この質問に対する他の多くの回答で説明されているように、SSHコマンドにオプションを付けて、出力を読んでください。