Допустим, SSH, другие протоколы будут другими. Пользователи предоставляют вам открытый ключ SSH. (Вам не нужно видеть их закрытый ключ.) Настройте это как учетные данные для личного, непривилегированного (не root, не sudo) пользователя.
Способы реализации сильно различаются в зависимости от системы идентификации пользователей, доступной в вашей организации. Что может не быть услугой вашего облачного провайдера, вы можете авторизоваться на чем угодно.
Ручным решением может быть создание локальных пользователей на сервере и загрузка их ~/.ssh/authorized_keys
. Утомительно поддерживать, у пользователей нет возможности самообслуживания.
Облако Google имеет Вход в ОС где вы можете предоставить любой учетной записи Google (личной или управляемой) доступ к экземплярам с их личным ключом ssh. Пользователи предоставили роли /compute.osЛогин
роли не являются привилегированными, поэтому у них не будет sudo. Вероятно, это имеет смысл только в том случае, если ваша организация уже предоставляет учетные записи Google, домен Workspace или Cloud Identity.
Или у вас может быть система идентификации не от вашего облачного провайдера. Например, FreeIPA может хранить ключи ssh и интегрировать их с аутентификацией ssh на хостах. Опять же, требуется немного работы для развертывания системы идентификации, если она еще не существует.