Это то, что я изучал некоторое время назад и нашел полезную информацию ... но теперь, когда мне действительно нужно это сделать, я, конечно, больше не могу найти то руководство, которое видел.
В любом случае, вот ситуация. У меня есть программа, которая запускается с использованием меню ncurses через SSH. Я хочу, чтобы пользователи могли входить в эту программу через SSH, но только в эту программу.
Что мне нужно сделать, чтобы этот сценарий стал возможен?
Моя цель - запретить им вообще видеть командную строку и ограничиться только этой программой. Это возможно? Как мне это сделать?
Это также называется подключенным входом.
Добавить в ~ / .profile пользователя выполнение программы и выход.
exec /usr/local/bin/program
exit
Умные пользователи знают, что они могут предоставить в своем ssh-клиенте команду, отличную от ожидаемой. Предотвратите это с помощью ForceCommand в конфигурации sshd:
ForceCommand
Принудительно выполняет команду, указанную ForceCommand, игнорируя любую команду, предоставленную клиентом и ~ / .ssh / rc, если он присутствует. Команда вызывается с помощью оболочки входа пользователя с параметром -c. Это относится к выполнению оболочки, команды или подсистемы. Это наиболее полезно внутри блока Match.
Match Group programusers
ForceCommand /usr/local/bin/program