-2

私は興味深い問題に直面しています。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).
  1. なぜこのエラーが発生するのですか?
  2. なぜ新しいアカウントからサーバーに ssh したのだろうか。秘密鍵ファイル ( .pemAWS のファイル) が必要ではないのだろうか?
4

1 に答える 1

0

narojuインスタンスに新しいユーザー (例: ) を作成する.ssh/authorized_keysには、新しいユーザーのホーム ディレクトリにファイルを作成する必要があります。

$ sudo adduser naroju
$ sudo su - naroju
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

次に、ファイルを編集して公開鍵authorized_keysを追加します。

その後、新しいユーザーにログインできます。

$ ssh -i naroju.pem naroju@IPADDRESS

ユーザーのホーム ディレクトリで公開鍵を変更したため、選択した鍵ペアの秘密鍵を使用しubuntuてログインする必要があります。ubuntuその後、上記のコマンドを実行できます。

Amazon EC2 のドキュメントを参照してください: Linux インスタンスでのユーザー アカウントの管理

于 2016-10-30T07:47:47.953 に答える