Я хочу запустить приложение на машине Linux, к которому будет обращаться большинство пользователей, использующих PuTTY. Я хочу запустить это приложение, и, когда оно будет выполнено, я хочу, чтобы оно завершило сеанс SSH. Это безопасно / достаточно для использования chsh
установить их оболочку в приложение? Что еще нужно делать (chroot jail)? Это будет реализовано в Ubuntu Lucid.
Обращение к предложению ErikA. Вам не нужно использовать ключи для использования команды force.
Вы также можете указать что-то подобное в своем sshd_config.
Match User xxxx
ForceCommand /usr/bin/nnnn
Match Group yyyy
ForceCommand /usr/bin/nnnn
Важным моментом является то, что вам нужно будет проверить, позволяет ли приложение, которое вы используете, действительно запускать другую оболочку или процесс.
Я бы подумал об использовании аутентификации с открытым ключом и функции "принудительной команды" в нем. В каждом пользователе ~/.ssh/authorized_keys
файл, сделайте что-то вроде этого:
command="/path/to/application" ssh-rsa <rest_of_users_public_key>
Если вы установите это и отключите аутентификацию по паролю (в любом случае, это очень хорошая практика), это гарантирует, что пользователь сможет запустить только указанное приложение. Если вы очень уверены, что пользователи не могут выполнять команды оболочки через это приложение, тогда chroot jail может не понадобиться, но это действительно нужно оставить вам, чтобы определить.