特定のSSHキーを使用したログインを一時的に無効にします。

特定のSSHキーを使用したログインを一時的に無効にします。

私のサーバーにはSSH公開鍵がいくつかあります~/.ssh/authorized_keys

キーを一時的にブロック/禁止/無効にしたいです。これで、ユーザーがこのキーを使用してログインするのを防ぎたいと思います。ただし、後で再度有効にしたい場合があります(つまり、キーを完全に削除したくありません)。

正しい/推奨アプローチは何ですか?

#行の先頭に説明を追加する必要がありますかauthorized_keys

明確に言えば、特定のユーザーをブロックしたくありません。ユーザーアカウントは複数の人が共有し、それぞれ独自のSSHキーを使用して接続します。特定のSSHキーをブロックしたいです。

答え1

キーの前に強制コマンドを追加して、ユーザーに何が起こっているのかを知らせることができます。たとえば、

restrict,command="printf 'Your key has been disabled\n'" ssh-rsa AAAAB2...19Q== [email protected]

または v7.2 以前の Openssh の場合:

command="printf 'Your key has been disabled\n'",no-pty,no-port-forwarding ssh-rsa AAAAB2...19Q== [email protected]

それから彼らは次のものを得ます:

$ ssh servername
PTY allocation request failed on channel 0
Your key has been disabled
Connection to servername closed.

答え2

はい、関連する行の前に#(または初期項目がもう有効でない限り、他の文字)を入れることができます。ssh-rsa

これを行い、システムがプレーンテキストのパスワードログインも許可している場合、ユーザーにログインするにはパスワードを入力するように求められます。したがって、アカウントに関連付けられている(既知の)パスワードがないことを確認することをお勧めします。

関連情報