grader
インスタンスにというユーザーを作成し、sudo 権限を付与し、パスワードを/etc/ssh/sshd_config
オフに切り替えました。
ローカルマシンでキーペアを生成し、インスタンスに公開キーを追加しました。Amazon AWSが提供するDEFAULTユーザーと生成したキーを使用してインスタンスにアクセスしようとすると、
ssh -i "udacityLinux" [email protected]
しかし、ユーザーを使用して同じことを実行しようとすると、grader
次のエラーが発生します。
ssh -i "udacityLinux" [email protected]
[email protected]: Permission denied (publickey).
grader
自分のユーザーを使用してログインできるようにするには、どうすればこれを修正できますか?
答え1
サーバーにアップロードする公開鍵について誤解があるようです。
~/.ssh/authorized_keys
このキーは、このキーによって識別されるすべてのユーザーのファイルに保存する必要があります。
このパスは~/.ssh/authorized_keys
現在のユーザー ディレクトリに相当します。ユーザーとしてログインしている場合grader
、そのパスは次の場所を指します。
/home/grader/.ssh/authorized_keys
ユーザーとしてログインしている場合ubuntu
、そのパスは次の場所を指します。
/home/ubuntu/.ssh/authorized_keys
したがって、今のところは、次のコマンドでキー ファイルをコピーできます。
sudo cp /home/ubuntu/.ssh/authorized_keys /home/grader/.ssh/
次に、正しい所有者と権限を設定します。
sudo chown grader:grader /home/grader/.ssh/authorized_keys
sudo chmod 0600 /home/grader/.ssh/authorized_keys
これで、ユーザーに対して有効にしたすべてのキーがユーザーubuntu
に対してgrader
も受け入れられるようになったことに注意してください。