Exploring-Linux-Shell-(Terminal)-Remotely-Using-PHP-Shell

Удалённое знакомство с Linux Shell (Terminal) с помощью PHP Shell

Терминал Linux

PHP Shell или Shell PHP — это программа/скрипт, написанный на PHP (Php Hypertext Preprocessor), который предоставляет доступ к Linux Terminal-у (Shell — гораздо более широкое понятие) из браузера. PHP Shell позволяет выполнять большинство команд оболочки в браузере, но не все из-за некоторых ограничений.

 

Обновление: недавно мы нашли очень многообещающий инструмент под названием «Wetty (Web + tty)», который обеспечивает полный доступ к терминалу Linux по протоколу HTTP или HTTPS и позволяет выполнять все команды и программы Linux, как если бы вы сидели перед реальным или виртуальным терминалом.

 

 

Linux-Shell-Acess-on-Browser

 

 

PHP Shell очень полезен при выполнении команд Shell на удаленном веб-сервере, аналогично Telnet и SSH. Это может быть полезно при перемещении, распаковке и обработке больших файлов на веб-сервере. Администрирование и обслуживание веб-сервера с использованием PHP Shell намного проще, если пользователь имеет практические знания программных оболочек.

Раз уже были придуманы Telnet и SSH, зачем нужен phpshell? Именно этот вопрос, может первым прийти вам в голову. Ответ таков: во многих случаях брандмауэр настолько ограничен, что ничего, кроме HTTP(S), не пропускает, в этом случае phpshell позволяет получить доступ к оболочке на удаленном сервере.

Однако вы не сможете выполнить программу с графическим интерфейсом пользователя или интерактивный скрипт/программу с использованием PHP Shell. Это может быть ограничением, но это ограничение в свою очередь также является благом, так как отключение графического интерфейса означает более высокий уровень безопасности.

 

 

Установка PHP Shell

Последнюю версию можно скачать здесь:

http://sourceforge.net/projects/phpshell/?source=dlp

 

 

Как установить PHP Shell?

Как указано выше, PHP Shell написан на PHP, поэтому вам не нужно его устанавливать, просто переместите заархивированный файл в рабочий каталог apache/httpd, и, конечно, у вас должны быть установлены Apache и PHP.

 

Установка Apache и PHP

Установка Apache и PHP в системах на основе Debian с помощью команды apt-get:

# apt-get install apache2
# apt-get install php5 libapache2-mod-auth-mysql php5-mysql
# service apache2 start

 

Установка Apache и PHP в системах на базе Red Hat с помощью команды yum:

# yum install httpd
# yum install php php-mysql
# service httpd start

 

По умолчанию рабочий каталог apache/http:

  • на основе дистрибутива Debian — /var/www
  • на основе дистрибутива Red Hat — /var/www/html

 

 

Примечание. Рабочий каталог можно изменить на любую другую папку, и это обязательно рекомендуется выполнить в качестве меры безопасности.

 

 

Переместите загруженный архивный файл PHP Shell в рабочий каталог Apache. Здесь мы используем систему Debian, поэтому мой рабочий каталог Apache выглядит следующим образом:

# mv phpshell-2.4.tar.gz /var/www/

 

Распаковка PHP-оболочки
# tar -zxvf phpshell-2.4.tar.gz

 

Удаление заархивированного файла
# rm -rf phpshell-2.4.tar.gz

 

Переименуйте папку оболочки php, в качестве меры безопасности. Например, мы переходим в папку phpshell (теперь sedicomm-nix) и переименовываем phpshell.php в index.php, чтобы вы были перенаправлены непосредственно на страницу индекса, а не на содержимое папки:

# mv phpshell-2.4 sedicomm-nix
# cd sedicomm-nix/
# mv phpshell.php index.php

 

Хорошо, пришло время открыть ваш веб-браузер и перейти к «http://127.0.0.1/sedicomm-nix«:

PHP-Shell-Login-Screen

 

 

По умолчанию имя пользователя и пароль не работают, поэтому вам нужно добавить имя пользователя и пароль вручную.

Чтобы создать имя пользователя и пароль, вызовите скрипт pwhash.php, уже находящийся в папке phpshell, с помощью «http://127.0.0.1/sedicomm-nix/pwhash.php«:

PHP-Shell-Password-Hasher

 

 

Введите имя пользователя и пароль на указанной выше странице php и нажмите «Обновить»:

Set-PHP-Shell-Password

 

 

Как указано в разделе «Result», вам необходимо добавить строку sha, скопировав и вставив её в файл config.php в разделе [user]:

Откройте файл config.php, используя любой редактор:

# nano config.php

 

Добавьте строку:

sedicomm = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"

 

Как и в [user section], очевидно, что ваш sha1 будет уникальным в зависимости от вашего имени пользователя и пароля:

PHP-Shell-Password-Line

 

 

Сохраните файл config.php с текущими изменениями и выйдите из него.

Теперь пришло время войти в phpshell. Посетите http://127.0.0.1/sedicomm-nix. Войдите в систему, используя свои «Имя пользователя» и «Пароль»:

PHP-Shell-Terminal-Access

 

 

Вы успешно вошли в свой phpshell. Теперь вы можете выполнять большинство программ оболочки так же просто, как если бы вы выполняли эти команды и сценарии в своей собственной системе.

 

 

Определим «узкие места» PHP Shell

  • Не поддерживается дополнительный ввод, т.е. после запуска программы интерактивный скрипт использовать нельзя.
  • Весь веб-сервер настроен на тайм-аут в определенный период времени, скажем, 30 секунд. Это ограничение касается веб-сервера/Apache, а не phpshell.
  • Каждая команда в phpshell должна быть прописана строго одной строкой. Phpshell не понимает как многострочные команды команды так и команды в циклах.

 

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

Это все на данный момент. Наслаждайтесь!

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Терминал Linux

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню