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