«Дверь запили мне, блеать», или ssh2 как способ управления миром.

Речь пойдёт, как видно из заголовка о протоколе ssh2 и управление с помощью него всякой еботой на *nix серверах.

Ставим значит FreeBSD на виртуалбокс (советую ставить на момент написания статьи версии до 4.3.18, шоб в последствии не испытать анальную боль). При установке нам нужно выбрать чтоб это всё заебенилось с портами, остальное пох — автоматом.

Сразу как поставили ебошим ssh доступ:

Я накатываю обычно mc путём:

  • # pkg install mc

потом лезу в /etc/ssh/sshd_config и там делаю

  • PermitRootLogin yes.

Далее всё через ssh хуячим.

Для дохуя умных — можете обновить порты(хотя нахуя, если мы только что скачали последнюю версию FreeBSD:

# portsnap fetch update

Накатываем:

  • nginx путем:

# pkg install nginx

лезем в /usr/local/etc/nginx там лезем в nginx.conf, там раскомменчиваемкусок про php и немного меняем его:

location ~ \.php$ {
root           /usr/local/www/nginx-dist;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;

  • mysql путём:

# pkg install mysql55-server

  • php путём:

# pkg install php5

(при этом он наебенивает как php-fpm).

Теперь надо лезть в порты /usr/ports/lang/php5-extensions

там делаем:

# make config

там куча еботы и нам важно не проебаца и обязательно выбрать галками pdo и mcrypt. Делаем:

  • # make install

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

pkg install хуйнякоторойнехватает

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

Когда поставите всё таки его, сделайте:

  • make clean

(ну шоб всё было без хвостов о сборке)

Далее надо мускул поднастроить чтоб у вас заебатый lamp сервак то вышел, а не фуфел. Как это сделать описана в сотнях стотей.

Ну потом можно наебенить всё в rc.conf шоб это само всё стартовало:

  • # echo ‘mysql_enable=»YES»‘ >> /etc/rc.conf
  • # echo ‘nginx_enable=»YES»‘ >> /etc/rc.conf
  • # echo ‘php_fpm_enable=»YES»‘ >> /etc/rc.conf

Ставим phpmyadmin(не читая всякие мануалы тупые):

  • # pkg install phpmyadmin

делаем симлинк в /usr/local/www/phpmyadmin в /usr/local/www/nginx/pma, заходим через брОузер в http://адресэтойебантейки/pma/ — и там читая делаем всё как написано. ЗБС!

lamp готов!

Теперь лезем в /usr/ports/security/pecl-ssh2/ там хуячим:

  • make install clean

А вот нахуя это всё?

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

Реализуется легко:

<?php

$connection = ssh2_connect(‘192.168.1.100′, 22);
ssh2_auth_password($connection, ‘login’, ‘password’);
$stream = ssh2_exec($connection, »

любаяблякоммандавплотьдоpoweroffитд
«);
?>

Нахуя спрашивается мы ставили мускул, пдо и всякую другую еботу?

А чтоб взять и написать вебморду с формами ввода переменных с помошью которых наша *nix машинка будет исполнять всякое, и писать это всё в базу, и потом показывать нам из оной чего мы там нахуевертили.

Я ёбнул изменение iptables правил на гейте(чтоб всякие криворукие туда своими рученками не лазили и не писали всякого говна).