SSH через сокеты

Дата: Сентябрь 24, 2009

(1) комментарий

Продолжая исследовать вопрос работы с сервером через SSH я наткнулся на проблему которую решить стандартными библиотеками не получилось, так как все хостеры с которыми я работаю на отрез отказались ставить библиотеку ssh, мотивируя это политикой безопасности компании. Но ведь есть и другой путь :) это работа через сокеты. Это конечно гораздо сложнее, так как надо понимать как происходит обмен данными по протоколу ssh.
Для работы с ssh мы воспользуемся библиотекой phpseclib0.1.5 которую можно скачать тут
Эта библиотека поддерживает php4 и php5, но в ней есть небольшой недостаток.. файлы раскиданы по папкам, но пути подключения там кривые так что правим ручками во всех местах где есть include или require файлы перенаправляем на верхние уровни. То есть дописываем ../../ ну в каждом файле по разному.. но думаю вы разберётесь
Когда руками мы всё подправили можно приступить к работе.
у нас в папке Net есть 3 файлика: ssh1, ssh2 и sfpt
Из названий легко понять что за что отвечает. Мы просто инклудим необходимый нам файл и инициализируем классы.
Вот пример посылки команд с помощью данной библиотеки:

1
2
3
4
5
6
7
    $ssh = new Net_SSH2('хост');
    if (!$ssh->login('ssh_login', 'ssh_password')) {
        exit('Login Failed');
    }

    echo $ssh->exec('wget http://some.url/some.file');
    echo $ssh->exec('tag -xzf some.fil

Метод $ssh->exec отвечает за выполнение команд.
Больше примеров можно найти на sorceforge :)

a




    Один комментарий на "SSH через сокеты"

    Rostov114 сказал:
    28.02.2010

    Не факт что все править нужно.
    Если в корне где лежат все папки положить основной фаил который как раз токи будет подключать SSH2.php то править ничего не нужно. = )

    Продолжение дискуссии на форуме: link


    Вы можете продолжить обсуждение этой статьи на форуме


    Имя : 
    Почта : 
    Сайт : 
    Комментарий : 

    Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

    Создание сайта - Echo-group Раскрутка сайтов