ec2-user
Amazon Linux 2オペレーティングシステムを使用してec2インスタンスを作成し、login:および関連するプライベートキーを使用してシステムにログインしました。次に、新しいユーザーを作成し、x
ホームディレクトリ.ssh/authorized_keys
のファイルをユーザーのホームディレクトリにコピーしました。最後に、ファイルの所有権を。ec2-user
x
authorized_keys
x
sudo ls -ald /home/x/.ssh
drwxrwxr-x 2 x x 29 Sep 18 16:42 /home/x/.ssh
そして
sudo ls -al /home/x/.ssh/authorized_keys
-rw------- 1 x x 387 Sep 18 16:42 /home/x/.ssh/authorized_keys
x
同じ秘密鍵を使用してユーザーとしてログインすると、次のエラーが発生します。
ssh -i /some/path/aws/privatekey.pem [email protected]
[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
正常にログインするには、この問題をどのように解決する必要がありますか?
(このauthorized_keys
ファイルにはユーザー情報も含まれていますか?)
同様の質問は役に立ちませんでした。ssh:権限が拒否されました(公開鍵、gssapi-with-mic)
ベストアンサー1
drwxrwxr-x 2 x x 29 Sep 18 16:42 /home/x/.ssh
グループ書き込み権限が設定されているため、/home/x/.ssh
理論的には、グループの他のメンバーがx
ディレクトリの内容を改ざんできます。したがって、多くの注意を払ってsshd
このauthorized_keys
ファイルは無視されます。
マニュアルsshd(8)
ページには次のように記載されています。
~/.ssh/authorized_keys
他のユーザーがファイル、〜/ .sshディレクトリ、またはユーザーのホームディレクトリに書き込むことができる場合は、権限のないユーザーがファイルを変更または置き換えることができます。この場合、StrictModes オプションが "no" に設定されていない場合、sshd はその使用を許可しません。
この問題を解決するには:
chmod go-w / /home /home/x /home/x/.ssh
もちろん、ルートが所有する必要があります/
。/home
ユーザーは他の人に書き込み権限を付与できます。その他のサブディレクトリホームディレクトリですが、ホームディレクトリ自体と~/.ssh/
サブディレクトリはセキュリティに敏感であるため、常にそのディレクトリを所有しているユーザーのみが書き込み可能である必要があります。ホームディレクトリには、他の人が書く可能性がある場合に悪意のある目的に使用される可能性がある~/.profile
多くのファイル(および類似のログインスクリプトなど)があります。~/.bashrc
SSHが開発される前は、以前の//ツールで使用されていたファイルの~/.rhosts
保護要件が似ていましたが、適切に保護されていない場合は同様に無視されました。rsh
rlogin
rcp