Назад | Перейти на главную страницу

Разрешить разработчикам выполнять развертывание на сервере, но не входить на сервер (ssh)

Это может быть невозможно, но я бы хотел:

Подробнее: Наши разработчики развертывают на нашем сервере с помощью Capistrano. При беге cap deploy или аналогичные команды Capistrano входит на сервер (ssh) с помощью ключа, переданного разработчику, и запускает некоторые команды.

Причина, по которой я хочу это сделать: для управления сервером используются Security and Chef (не хотелось бы, чтобы изменения вносились вне Chef).

Это возможно?

оберните вызов в веб-службу. Простой скрипт php может вызывать нужную команду и быть защищен через apache с любым количеством схем авторизации.

Этот метод также будет хорошо работать с другими системами, такими как CI / CD.

Вы можете ограничить определенные ключи по-разному в authorized_keys файл, from= вы можете ограничить хосты, которые могут использовать этот ключ, command= позволяет вам определить определенную команду. Если вам нужно несколько команд, вы можете написать сценарий или добавить несколько ключей.

Любой другой тип доступа с этим ключом работать не будет.

это страница есть несколько хороших объяснений того, как и какие ограничения.