Принудительное отключение SSH как ошибка - PullRequest
0 голосов
/ 16 апреля 2011

Я работаю над сценарием, который запускается, когда у человека ssh. Он обнаруживает, авторизована ли команда для этой учетной записи. В моем файле author_keys у меня есть

command = "/ path / to / script" ключ ...

В скрипте я проверяю наличие разрешенных команд, таких как время безотказной работы. То, что я хочу сделать, это если команда не разрешена, например, mkdir. Я хочу отключить сеанс. Я пытаюсь предотвратить запуск большинства команд и не позволяю открытому соединению взаимодействовать с удаленным сервером.

Есть ли что-то, что я могу вызвать, что приведет к отключению текущего соединения как к ошибке, чтобы я мог написать в stderr?

Ответы [ 2 ]

0 голосов
/ 16 апреля 2011

Я слишком задумался над этой проблемой.Вот решение и немного объяснения.

При инициализации соединения SSH автоматически запускается сценарий.Так что скрипт работает и будет единственной работает через соединение SSH, если вы звоните EXEC, а затем, когда заканчивается сценарий так делает соединение с сервером.

1004 * Для завершения соединения преждевременно вам просто нужнозапустить команду выхода.Вот 3 способа.

Bash

exit

Python

import sys
sys.exit

Ruby

exit

В Python и Ruby это вызывает исключение иесли не получен выход.Надеюсь, это кому-нибудь поможет.

0 голосов
/ 16 апреля 2011

kill -HUP 0, может быть? (Отправьте SIGHUP в группу процессов.) Пульт дистанционного управления передаст сигнал как ошибку, обычно как некоторую форму "потеря соединения".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...