Я создаю ограниченного пользователя без оболочки только для пересылки портов, и мне нужно выполнить скрипт при входе через pubkey, даже если пользователь подключен через ssh -N [email protected]
который не запрашивает SSH-сервер для оболочки.
Сценарий должен предупреждать администратора о соединениях, прошедших проверку подлинности с помощью pubkey, поэтому подключение пользователя не должно пропускать выполнение скрипта (например, путем соединения с ssh -N
).
Я пробовал безрезультатно:
- Установка команды в
/etc/ssh/sshrc
. - Использование команды = "КОМАНДА" в
.ssh/authorized_keys
(man authorized_keys) - Настройка скрипта с помощью команды в качестве оболочки пользователя. (
chsh -s/sbin/myscript.sh USERNAME
) - Соответствующий пользователь в
/etc/ssh/sshd_config
:Match User MYUSERNAME ForceCommand "/sbin/myscript.sh"
Все работает, когда пользователь запрашивает оболочку, но если она зарегистрирована только для переадресации портов и без оболочки (ssh -N
), она не работает.