Authorizedkeyscommand
В OpenSSH версии 6.2 появилась опция AuthorizedKeysCommand, которая позволяет выполнять произвольный скрипт для авторизации пользователя по публичному ключу. AuthorizedKeysCommand предоставляет возможность авторизовать пользователя без добавления публичного ключа в файл authorized_keys
, при этом предполагается, что ключ хранится где-то на удаленном сервере. Опции настраивается в /etc/ssh/sshd_config. В параметрах указывается скрипт, который должен быть в PATH
и иметь права на запуск.
На вход скрипту можно передавать ряд токенов:
- %% - литерал ‘%’,
- %f - цифровой отпечаток (fingerprint) ключа или сертификата,
- %h - домашняя директория пользователя,
- %k - ключ или сертификата для авторизации, закодированный в base64,
- %t - тип ключа или сертификата,
- %U - числовой идентификатор целевого пользователя,
- %u - имя пользователя.
Также должна быть указана опция AuthorizedKeysCommandUser, в которой указывается пользователь от которого будет запускаться скрипт (по умолчанию это пользователь nobody).
Полезные ссылки:
Written on August 30, 2018