Я не хочу вообще отключать удаленный вход с паролем, но я хочу сделать так, чтобы моя учетная запись была доступна только при аутентификации пары ключей (есть другие пользователи, которые хотят использовать пароли для входа в систему). Можно ли изменить это для каждого пользователя, в идеале без изменения системных настроек?
И чтобы было ясно, моя учетная запись имеет доступ sudo, поэтому я не хочу блокировать пароль.
ssh
authentication
key-authentication
phunehehe
источник
источник
Ответ от jasonwryan будет правильный способ сделать это изменение. Единственное добавление, которое я хотел бы сделать, состоит в том, что вы можете установить соответствие на основе группы, так что любой пользователь в группе колеса должен будет использовать аутентификацию по ключу, а другие могут использовать пароли.
Я знаю, что вы хотите сделать это без изменения системных конфигурационных файлов, но есть веская причина, почему это будет невозможно. В вашей голове есть смысл, чтобы ваш пользователь мог установить более безопасную политику входа в систему, но только потому, что, по вашему мнению, это более безопасный вариант, это не меняет того факта, что он все еще является изменением требований входа в систему для удаленный пользователь.
Чтобы понять, почему это проблема, представьте сценарий наоборот. Системный администратор (который может изменять файлы конфигурации системы) устанавливает систему только для входа в систему на основе ключей. Затем какой-то пользователь приходит и получает доступ только к своему собственному пользовательскому файлу и устанавливает свою учетную запись, чтобы разрешить аутентификацию по паролю, переопределяя системную политику. BEEEEEEP . Проблема безопасности!
Это объясняет, почему изменения, которые вы хотите сделать, возможны только из системного конфигурационного файла?
источник
authorized_keys
устанавливать больше ограничений, как этого хочет phunehehe. Например,authorized_keys
можно ограничить определенные ключи определенными командами.Почему бы не на стороне клиента, если он уверен, что ssh будет клиентом, который будет использоваться для попыток входа в систему? Если да, попробуйте внести изменения в ssh_config вместо sshd_config. Проверьте параметр «PasswordAuthentication No» и PreferredAuthentications
источник