SSH キーを使用して数人のユーザーで CentOS 8 サーバーを設定しましたが、数日前、現在どのユーザーともログインできませんでした。 (ルートログインと同様に、パスワードの確認も無効になります。)
今日はPuTTYとWinSCPを使ってログインしましたが、不気味です。
サーバーが私たちの鍵を拒否しました
これはすべてのユーザーに発生します。sshd
キーを拒否するポイントに達したので、明らかに動作しているようです。ログを詳しく見ると、次の内容が表示されます。
サーバーは、publickey、gssapi-keyex、gssapi-with-mic 認証方法を提供します。
sshd
これは正常に動作していることを示します。
Pageantにロードされたキーを使用してログインしようとしましたが、PageantをバイパスしてPuTTYとWinSCPから直接キーをロードしようとしましたが、キーはまだ拒否されました。はい、正しいキーで変更されていません。
偶然にバックアップアプリケーションを実行していたので、サーバー上のファイルに何らかの変更が発生したことを確認できました。この.ssh/authorized_keys
ファイルは変更されていないことを確認できます。いいえsshd_config
、私もダウンロードして確認してみました。
最後にログインしたのは数日前であり、1つを作成しましたが、dnf update
これがどのような影響を与えるかはわかりません。
この問題の原因は何ですか?
答え1
問題は/home
権限です。私は秘密の疑いを抱いていましたが、どのように問題が発生するのか理解していなかったので、そのアイデアを考慮することを拒否しました。私の記憶には、ディレクトリエントリの処理中に誤ったコマンドを入力した記憶が混乱していますsetfacl
。ACL
誤って一つを作りましたが、これにより必要なsetfacl -Rn [...] /home
権限がめちゃくちゃになりました。sshd
$home/.ssh/authorized_keys
これは、すべてのユーザーがロックされていることを意味します。PasswordAuthentication
に設定すると、No
サーバーに入ることはできません。ではどうやって解決しましたか?バックアップしていただいたAcronisに感謝します。sshd_config
数ヶ月前にPasswordAuthentication
設定され、postコマンドでYes
追加されたときに戻りました。reboot
その後、サーバーを再起動してパスワードでログインし、setfacl -b
正しい場所からACLを削除すると、すべてが正常に戻りました。
運が良かったが、いくつかの災害シナリオ用に特別に構成されたバックアップがあり、そのうちの1つには長い間古いファイルが必要です。
PS:フレンドリーなアドバイスです。今すぐバックアップ戦略を再確認し、安定したソリューションに投資してください。エンタープライズクラスのバックアップがない場合は、サーバーのハードドライブを新しいサーバーに移動し、Webアプリケーションを復元したり、リカバリモードで起動したり、他の退屈で不確実な方法を試したりするために数日間閉じ込められている可能性があります。