私は興味深い問題に直面しています。ubuntu 14.04 の ec2 インスタンスを起動しました。以下のようなキーファイルを提供することで、それにsshできます。
ssh -i "xxxxx.pem" ubuntu@xxxxxxxxxxxx.ap-south-1.compute.amazonaws.com
しかし、安全ではない ubuntu(root) を常に使用するのではなく、インスタンスで別のアカウントを作成することを考えました。そのため、サーバーで自分の名前で別のアカウントを作成しました。さらにセキュリティを強化するために、private( id_rsa
) および public( id_rsa.pub
) キー ファイルを作成することを考えました。公開鍵をサーバー.ssh/authorized_keys
に置くと、ローカル マシンから新しいアカウントで ssh できるはずです。これも機能します。これで、以下のようにサーバーに ssh できるようになりました。
ssh naroju@XXXXXXXXXXXXXXX.ap-south-1.compute.amazonaws.com
ここで問題が発生します。新しいアカウントから ssh できますが、ubuntu(root) アカウントからサーバーに ssh できません。以下のエラーが発生します。
Permission denied (publickey).
- なぜこのエラーが発生するのですか?
- なぜ新しいアカウントからサーバーに ssh したのだろうか。秘密鍵ファイル (
.pem
AWS のファイル) が必要ではないのだろうか?