SSH pem /秘密鍵ベースのログインエラーが発生しましたか?

SSH pem /秘密鍵ベースのログインエラーが発生しましたか?

ec2-userAmazon Linux 2オペレーティングシステムを使用してec2インスタンスを作成し、login:および関連するプライベートキーを使用してシステムにログインしました。次に、新しいユーザーを作成し、xホームディレクトリ.ssh/authorized_keysのファイルをユーザーのホームディレクトリにコピーしました。最後に、ファイルの所有権を。ec2-userxauthorized_keysx

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保護要件が似ていましたが、適切に保護されていない場合は同様に無視されました。rshrloginrcp

おすすめ記事