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