Различия между сеансом SSH и встроенными командами SSH при аутентификации PAM

Использование dateutilsдля печати сегодняшней даты:

$ dateconv -f "Anno Domini %OY %Om %Od" now
Anno Domini MMXVII IV XXX
0
26.09.2019, 15:15
1 ответ

Это невозможно во время аутентификации PAM. --pam не имеет никакой информации о командах, переданных в ssh. Только сервер ssh может различать эти типы. Но обратите внимание, что отсутствие передачи аргумента команды в ssh означает, что он внутренне выполняет пользовательскую оболочку (, обычно bash ).

Вы можете достичь того, что вы описываете, используя следующее в своем sshd_config, как уже было предложено муру:

Match testuser
  ForceCommand /bin/bash -il

Это всегда будет запускать интерактивную оболочку для пользователя, даже если он укажет аргумент команды на ssh. Если вы хотите показать какое-то сообщение в случае передачи другой команды, вам придется написать какой-нибудь простой скрипт, который будет вызываться вместо bash и будет проверять SSH_ORIGINAL_COMMANDи, если он установлен, выполнить соответствующее действие твой выбор.

2
28.01.2020, 02:29

Теги

Похожие вопросы