Мне нужно ограничить определенных пользователей, чтобы они могли использовать только SSH с использованием ключей SSH, а другие пользователи могли войти в систему, используя ключ или пароль.
пример:
Я хотел бы, чтобы пользователь root мог входить удаленно (через sshd) с помощью ключа, чтобы пароль не принимался (даже если пароль правильный)
и для других пользователей (все в системе) они могут войти, используя ключ и / или пароль
как бы я это сделал?
Match
блоке. Смотритеman 5 sshd_config
для деталей.Настройте ssh следующим образом:
Перезапустите SSH
Затем предоставьте ключи тем, кому вы хотели бы избежать использования паролей.
ssh-keygen используется для генерации этой пары ключей. Вот сеанс, где создается ваша личная пара личного / открытого ключа:
Команда ssh-keygen -t rsa инициировала создание пары ключей.
Я не вводил парольную фразу для моей настройки (вместо этого была нажата клавиша Enter).
Закрытый ключ был сохранен в .ssh / id_rsa. Этот файл только для чтения и только для вас. Никто другой не должен видеть содержимое этого файла, так как он используется для расшифровки всей корреспонденции, зашифрованной с помощью открытого ключа.
Открытый ключ сохраняется в .ssh / id_rsa.pub.
Затем его содержимое копируется в файл .ssh / authorized_keys системы, к которой вы хотите подключиться по SSH, без запроса пароля.
Наконец заблокируйте учетную запись (ключ аутентификации все еще будет возможен.)
источник