別のユーザーとして EC2 上の Ubuntu にログインすると、「サーバーがキーを拒否しました」というメッセージが表示される

別のユーザーとして EC2 上の Ubuntu にログインすると、「サーバーがキーを拒否しました」というメッセージが表示される

Ubuntu 10.04 を実行する AWS マイクロインスタンスを作成し、キーペアを使用して「ubuntu」ユーザーとして putty で問題なくログインできます。現在、2 人の新しいユーザーを作成しましたが、ユーザー名を使用してインスタンスに putty でログインしようとすると、「サーバーがキーを拒否しました」というメッセージが表示されます。

何が起こっているのでしょうか? キーペアは ubuntu ユーザーに関連付けられていますか? また、これらのユーザー用にキーペアを作成する必要がありますか、それともパスワードを使用してログインできますか? または、常に「ubuntu」として putty でログインしてから「su - myusername」と入力する必要がありますか? それとも、何か簡単なことを見逃しているのでしょうか?

答え1

はい、キーペアは ubuntu ユーザーに結び付けられています。新しいユーザーを作成したら、使用したいキーを$HOME/.ssh/authorized_keys.. に配置する必要があります。$HOME/.ssh に安全な権限があることを確認する必要があるため、少し複雑です。

chmod 0700 $HOME/.ssh

authorized_keysファイルにも安全な権限があること

chmod 0600 $HOME/.ssh/authorized_keys

同じキーを使用したい場合は、ubuntu ユーザーのキー ファイルを新しいユーザーにコピーするだけでもかまいません。

sudo cp -arf /home/ubuntu/.ssh /home/myuser/.ssh
chown -R myuser.myuser /home/myuser/.ssh

新しいユーザーにパスワードを設定する場合 (実際には推奨されません。SSH サーバーのパスワード ブルート フォース攻撃はインターネット上で横行しています)、クライアント マシンから次の操作を行うこともできます。

ssh-copy-id user@host

これですべての権限が処理されます。また、Launchpad.netアカウントにキーを保存している場合は、

ssh-import-id your-launchpad-user

そして、Launchpad からキーを取得します (このコマンドは 11.04 以降では ssh-import-id に名前が変更されました)。

関連情報