временно отключить вход с использованием одного конкретного ключа 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]

или для Openssh до версии 7.2:

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больше недействительна) перед соответствующей строкой.

Если вы это сделаете, и система также позволяет вводить пароль с помощью простого текста, пользователю будет предложено ввести пароль для входа. Поэтому вы можете проверить, нет ли (известного) пароля, связанного с учетной записью.

Связанный контент