Я настроил свой sshd для запуска duo security с помощью параметра FORCE_COMMAND в конфигурации ssh. Это означает, что каждый раз, когда я вхожу в систему через ssh, срабатывает дуэт проверок безопасности, что обычно хорошо. Однако для входа в систему git я не хочу, чтобы это сработало, и я хочу сразу перейти к git-shell. Это плохо для меня, потому что git-shell корректно ошибается и не позволяет мне отправлять команды git. Я получаю сообщение об ошибке: fatal: unrecognized command '/usr/sbin/login_duo'
. Это связано с тем, что оболочка git (по замыслу) ничего не знает о / usr / sbin / login_duo.
Есть ли способ запустить FORCE_COMMAND только для определенных пользователей? Есть предложения, как это обойти? Лучший способ создать отдельный sshd только для git?
Вы можете настроить поддержку команд sshd force на уровне детализации для каждого ключа, а не глобально в sshd_config. См. Пример в документации duo_unix:
http://www.duosecurity.com/docs/duounix#enable
Таким образом, вы можете заключить любой pubkey любого пользователя в login_duo, используя "command =" в ~ / .ssh / authorized_keys этого пользователя.