обслуживать веб-сайт только через SSH-соединение

обслуживать веб-сайт только через SSH-соединение

Мне нужно отобразить некоторую информацию о сервере и разрешить доступ к некоторым командам через веб-интерфейс. Я думал, что безопасным способом сделать это будет обслуживать сайт только через ssh.

Я видел примеры открытия firefox, запущенного на сервере через X forwarding через ssh, так что я мог ограничить сайт localhost. Я надеялся, что смогу как-то запустить firefox локально, но обслуживать только через ssh.

Можете ли вы указать мне правильное направление? Возможно ли это вообще?

решение1

Запуск Firefox на сервере — плохая идея. Запуск X Forwarding SSH медленный, неуклюжий и требует X Server на клиенте. Использование SSH для защиты веб-соединения — неуклюжий и исключительно сложный для обычных конечных пользователей.

TL;DR:Не делай ничего из этого.

Используйте SSL для защиты трафика. Используйте логины учетных записей для ограничения доступа. Используйте стандартные отраслевые практики, все будет работать так, как ожидается, пользователи будут радоваться, и наступит мир во всем мире... или, по крайней мере, люди не станут агрессивными, когда ваше приложение не будет работать.

решение2

Это возможно!, но запуск команд ОС через веб-сервер имеет смысл, когда это делается удаленно, а ssh по какой-то причине не является вариантом. Если у вас есть доступ по SSH, возможно, вы можете установить соответствующую схему разрешений для каждого пользователя и разрешить им использовать SSH.

Если вы все равно хотите сделать это через HTTP, вы можете использовать PHP для передачи команд ОС следующим образом:

<?php

$var1 = exec("find / -name 'foo'");
echo $var1 // echo out the result

?>

Конечно, все, что вы передаете в командную строку, может быть извлечено из формы. В любом случае вам все равно нужно будет установить соответствующие разрешения для файла php, чтобы убедиться, что только разрешенные пользователи получают доступ к форме, в противном случае вы будете передавать команды ОС в контексте безопасности интернет-пользователя, что было бы совсем не хорошей идеей.

Связанный контент