Это может быть невозможно, но я бы хотел:
cap deploy
ssh user@server
Подробнее: Наши разработчики развертывают на нашем сервере с помощью Capistrano. При беге cap deploy
или аналогичные команды Capistrano входит на сервер (ssh) с помощью ключа, переданного разработчику, и запускает некоторые команды.
Причина, по которой я хочу это сделать: для управления сервером используются Security and Chef (не хотелось бы, чтобы изменения вносились вне Chef).
Это возможно?
оберните вызов в веб-службу. Простой скрипт php может вызывать нужную команду и быть защищен через apache с любым количеством схем авторизации.
Этот метод также будет хорошо работать с другими системами, такими как CI / CD.
Вы можете ограничить определенные ключи по-разному в authorized_keys
файл, from=
вы можете ограничить хосты, которые могут использовать этот ключ, command=
позволяет вам определить определенную команду. Если вам нужно несколько команд, вы можете написать сценарий или добавить несколько ключей.
Любой другой тип доступа с этим ключом работать не будет.
это страница есть несколько хороших объяснений того, как и какие ограничения.