получить уникальный идентификатор сеанса SSH - PullRequest
1 голос
/ 10 февраля 2010

Интересно, есть ли способ получить как для сервера, так и для клиента, подключенного через ssh (OpenSSH), какой-то уникальный идентификатор сеанса (пусть это будет USID ).

Это будет использоваться для ограничения выполнения определенного (пользовательского) программного обеспечения (пусть это будет a.exe ), так что может быть выполнено только через определенный сеанс ssh, даже если другие пользователи (возможно, root) имеют доступ к этому исполняемому файлу:

  • после открытия сеанса ssh с компьютера C (клиент) на компьютер S (сервер), компьютер C (который знает USID ) обновит запись на компьютере X (сторонний сервер), сообщив, что этот USID является "безопасным".
  • a.exe на компьютере S при вызове проверит, является ли USID текущего сеанса "безопасным" (эта информация будет предоставлена) X ) и прекратит выполнение, если получен отрицательный ответ.

Каналы связи между X и C , X и S являются безопасными, поэтому единственной проблемой здесь является получение этого USID без необходимости писать свой собственный ssh-клиент и / или сервер.

Есть идеи?

1 Ответ

1 голос
/ 10 февраля 2010

мне кажется по кругу о том, вы пытаетесь заново внедрить kerberos. Сдается мне, что вы хотите, чтобы GSSAPI защищал транспорт между клиентом и сервером; поэтому ваш клиент должен пройти аутентификацию на сервере.

Типичный способ сделать это - «подключить» к принципале, используя keytab, а затем передать эти учетные данные на сервер. Kerberos гарантирует, что его достаточно сложно подделать.

это, вероятно, будет немного менее хрупким, чем метод, который вы описали выше.

1007 *-ACE *

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