У меня есть много хостов с динамическими IP-адресами, которые должны иметь доступ к контенту на определенном локальном веб-сайте в разное время, которое я определяю. Время разрешенного доступа всегда различно. Я управляю всеми хостами, которые будут подключаться.
Когда я хочу, чтобы хост имел доступ к частному веб-сайту, я инициирую SSH-туннель от каждого хоста до учетной записи на веб-хосте. Теперь пользователь сможет получить доступ к содержимому веб-сайта через http://localhost. Когда эта машина больше не сможет получить доступ к веб-сайту, туннель будет закрыт.
На частном веб-сайте я могу запустить сценарии PHP /Python /CGI / и т.д. Мне нужно иметь возможность идентифицировать хост, который подключен, потому что информация, которую я предоставляю, будет отличаться в зависимости от хоста, который подключен. Если я выполню поиск имени хоста, скажем, PHP, я, конечно, получу имя хоста веб-сервера. Это будет происходить для каждого клиентского соединения. Я хочу иметь возможность получить доступ к имени хоста клиента. Еще хуже, у клиента будет динамическое имя хоста. Меня не волнует это имя. У меня есть фиксированное имя для каждого хоста, который находится в файле в системе - например. / И т.д. / fixedhostname.
Какую информацию я могу хранить при создании SSH-соединения, чтобы из PHP/CGI/Python/etc. Я мог бы запросить имя хоста подключенного хоста.
ОБНОВИТЬ:
Просто так меньше загадок на мой вопрос ... Клиентами являются студенческие машины (которыми я управляю) в разных компьютерных лабораториях. Веб-сервер дает тестовые вопросы для в лабораторных тестах. Разные лаборатории могут обрабатывать разные тесты одновременно. Я хочу придумать способ выяснить "настоящий" исходный хост (не спрашивая ученика). Я мог бы передать его по адресу : http://localhost? Host = myhost, но тогда учащийся в другом тесте мог увидеть вопрос из другого теста, просто изменив URL. Я мог бы закодировать имя хоста, а затем расшифровать его, но студент все еще мог поделиться URL. Только хосты в тестовом режиме смогут получить доступ к веб-серверу. Первоначально я хотел сделать это с OpenVPN, но я подумал, что создание CA и управление всеми различными ключами только для единственной цели управления доступом к веб-сайту кажется излишним, но, возможно, это не так ... Я подумал, что SSH может быть проще. Сначала я подумал, что смогу просто передать некоторую информацию, которую PHP сможет получить, чтобы определить реальную личность хост-машины.