[Настройка] Конфиг для nginx для majordomo

Описание настройки чего либо

Модераторы: immortal, newz20

PAV
Сообщения: 926
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 67 раз
Поблагодарили: 90 раз

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение PAV » Пт апр 04, 2014 9:21 pm

если я захожу на Pi через ssh и даю команду ssh root@192.168.1.2 uptime то я получаю данные.
Не получается, когда MJD сам запрашивает.
По вашим советам не получилось;(
zlayaptichka
Сообщения: 33
Зарегистрирован: Вт апр 01, 2014 2:38 am
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение zlayaptichka » Пт апр 04, 2014 9:37 pm

PAV писал(а):если я захожу на Pi через ssh и даю команду ssh root@192.168.1.2 uptime то я получаю данные.
Не получается, когда MJD сам запрашивает.
По вашим советам не получилось;(
тогда можно сделать так:

на клиенте (majordomo) выполняем команды:

Код: Выделить всё

sudo apt-get install php-pear
sudo apt-get install php5-dev
sudo pecl install channel://pecl.php.net/ssh2-0.12
 
это должно установить расширение ssh.

код на php:

Код: Выделить всё

$connection = ssh2_connect("192.168.1.2", 22);
ssh2_auth_password($connection, 'имя пользователя', 'пароль');

$stream = ssh2_exec($connection, '/usr/bin/uptime');
$uptime=stream_get_contents($stream);
вариант с ключом:

Код: Выделить всё

$connection = ssh2_connect('192.168.1.2', 22, array('hostkey'=>'ssh-rsa'));

if (!ssh2_auth_pubkey_file($connection, 'имя пользователя',
                          '/home/pi/.ssh/id_rsa.pub',
                          '/home/pi/.ssh/id_rsa')) {
  die('Public Key Authentication Failed');
}
$stream = ssh2_exec($connection, '/usr/bin/uptime');
$uptime=stream_get_contents($stream);
ну или, если это всё не помогает, запасной вариант:

на сервере 192.168.1.2 поднимаем веб-сервер, создаём файл uptime.php

Код: Выделить всё

<?php
print shell_exec("uptime");
?>
на клиенте majordomo, скрипт получения:

Код: Выделить всё

<?php
$uptime=shell_exec('curl http://192.168.1.2/uptime.php');
?>
zlayaptichka
Сообщения: 33
Зарегистрирован: Вт апр 01, 2014 2:38 am
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение zlayaptichka » Пт апр 04, 2014 10:32 pm

Вот ещё в этой теме есть скрипт:

http://smartliving.ru/forum/viewtopic.p ... 541#p10376

(надо поменять в скрипте

Код: Выделить всё

if (!($stream = ssh2_exec($con, "reboot" ))) { 
на

Код: Выделить всё

if (!($stream = ssh2_exec($con, "uptime" ))) { 
)
PAV
Сообщения: 926
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 67 раз
Поблагодарили: 90 раз

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение PAV » Пт апр 04, 2014 11:32 pm

Я запутался. MJD от какого пользователя работает - pi или www-data?
Я ключи прописал под pi.
Пароля www-data я не знаю, как под него прописать ключи?
Кстати часто возникает ошибка Could not open a connection to your authentication agent. когда ключ прописываю
Сбрасываю ssh-agent /bin/bash

Первый вариант, похоже, был правильный, но надо с авторизацией разобраться.
zlayaptichka
Сообщения: 33
Зарегистрирован: Вт апр 01, 2014 2:38 am
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение zlayaptichka » Пт апр 04, 2014 11:41 pm

PAV писал(а):Я запутался. MJD от какого пользователя работает - pi или www-data?
Я ключи прописал под pi.
Пароля www-data я не знаю, как под него прописать ключи?
Кстати часто возникает ошибка Could not open a connection to your authentication agent. когда ключ прописываю
Сбрасываю ssh-agent /bin/bash

Первый вариант, похоже, был правильный, но надо с авторизацией разобраться.
Majordomo работает от www-data.

Пароля www-data нету - он пустой.
Можно установить:

Код: Выделить всё

sudo passwd www-data
Как зайти под www-data?
Используйте команду:

Код: Выделить всё

sudo -u www-data /bin/bash
PAV
Сообщения: 926
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 67 раз
Поблагодарили: 90 раз

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение PAV » Сб апр 05, 2014 8:18 am

Пытаюсь прописать ключ. Что не так?
pi@raspberrypi ~ $ sudo -u www-data /bin/bash
www-data@raspberrypi:/home/pi$ ssh-add majordomo
Could not open a connection to your authentication agent.
www-data@raspberrypi:/home/pi$ ssh-agent /bin/bash
www-data@raspberrypi:/home/pi$ ssh-add majordomo
majordomo: Permission denied
www-data@raspberrypi:/home/pi$ sudo ssh-add majordomo
[sudo] password for www-data:
Sorry, try again.

Вбиваю пустой пароль.

Пароль кстати стоит -
www-data@raspberrypi:/home/pi$ sudo passwd www-data
[sudo] password for www-data:
Sorry, try again.
[sudo] password for www-data:
Sorry, try again.
[sudo] password for www-data:
Sorry, try again.
sudo: 3 incorrect password attempts

Вроде прописал ключ под www-data. Могу от него заходить через putty.
Это если sudo -u www-data /bin/bash
ssh root@192.168.1.2

А если так
www-data@raspberrypi:/home/pi$ sudo -u www-data ssh root@192.168.1.2 uptime
Sorry, user www-data is not allowed to execute '/usr/bin/ssh root@192.168.1.2 uptime' as www-data on raspberrypi.
То не могу, ну почему???

И вот так
www-data@raspberrypi:/home/pi$ sudo ssh root@192.168.1.2
root@192.168.1.2's password:
www-data@raspberrypi:/home/pi$ sudo ssh-add
[sudo] password for www-data:
^[[ASorry, try again.
Требует пароль
zlayaptichka
Сообщения: 33
Зарегистрирован: Вт апр 01, 2014 2:38 am
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение zlayaptichka » Сб апр 05, 2014 1:57 pm

PAV писал(а):Пытаюсь прописать ключ. Что не так?
pi@raspberrypi ~ $ sudo -u www-data /bin/bash
www-data@raspberrypi:/home/pi$ ssh-add majordomo
Could not open a connection to your authentication agent.
www-data@raspberrypi:/home/pi$ ssh-agent /bin/bash
www-data@raspberrypi:/home/pi$ ssh-add majordomo
majordomo: Permission denied
www-data@raspberrypi:/home/pi$ sudo ssh-add majordomo
[sudo] password for www-data:
Sorry, try again.

Вбиваю пустой пароль.

Пароль кстати стоит -
www-data@raspberrypi:/home/pi$ sudo passwd www-data
[sudo] password for www-data:
Sorry, try again.
[sudo] password for www-data:
Sorry, try again.
[sudo] password for www-data:
Sorry, try again.
sudo: 3 incorrect password attempts

Вроде прописал ключ под www-data. Могу от него заходить через putty.
Это если sudo -u www-data /bin/bash
ssh root@192.168.1.2

А если так
www-data@raspberrypi:/home/pi$ sudo -u www-data ssh root@192.168.1.2 uptime
Sorry, user www-data is not allowed to execute '/usr/bin/ssh root@192.168.1.2 uptime' as www-data on raspberrypi.
То не могу, ну почему???

И вот так
www-data@raspberrypi:/home/pi$ sudo ssh root@192.168.1.2
root@192.168.1.2's password:
www-data@raspberrypi:/home/pi$ sudo ssh-add
[sudo] password for www-data:
^[[ASorry, try again.
Требует пароль
www-data@raspberrypi:/home/pi$ ssh-add majordomo
majordomo: Permission denied
www-data не может запускать sudo.
Зайдите от пользователя pi, запустите sudo visudo
и добавьте следующую строчку

Код: Выделить всё

www-data ALL=(ALL) NOPASSWD: ALL
После настройки, поменяйте команду на эту:

Код: Выделить всё

www-data ALL=(ALL) NOPASSWD: /usr/bin/ssh
p.s. ssh-add запускайте без параметров:
и добавьте пользователя www-data в группу sudo:

Код: Выделить всё

usermod -a -G sudo www-data
После этого, зайдя под www-data, sudo не будет спрашивать пароль.
www-data@raspberrypi:/home/pi$ sudo -u www-data ssh root@192.168.1.2 uptime
Sorry, user www-data is not allowed to execute '/usr/bin/ssh root@192.168.1.2 uptime' as www-data on raspberrypi.
Добавьте пользователя в группу sudo и разрешите ему доступ к командам.
PAV
Сообщения: 926
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 67 раз
Поблагодарили: 90 раз

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение PAV » Вс апр 06, 2014 8:40 am

Вот что не так?
Я прописываю ключ Pi, затем перехожу sudo -u www-data
Прописываю ключ www-data.
ssh root@192.168.1.2 uptime - все хорошо.
Apr 6 09:29:41 PAVcloud sshd[7192]: Accepted publickey for root from 192.168.1.254 port 53677 ssh2
Apr 6 09:29:41 PAVcloud sshd[7192]: Received disconnect from 192.168.1.254: 11: disconnected by user
Та же команда от MJD ничего не дает.
Apr 6 09:37:51 PAVcloud sshd[7612]: Failed password for root from 192.168.1.254 port 53690 ssh2
Apr 6 09:37:51 PAVcloud sshd[7612]: Failed password for root from 192.168.1.254 port 53690 ssh2
Apr 6 09:37:51 PAVcloud sshd[7612]: Connection closed by 192.168.1.254 [preauth]
Теперь, если даю команду www-data@raspberrypi:~$ sudo -u pi ssh root@192.168.1.2
то получаю
root@192.168.1.2's password:

Ну почему??????? Я же уже прописал ключ Pi и он работал.
Как посмотреть от кого MJD запускает команды? Точно ли от www-data?

Да, постоянно вываливается Could not open a connection to your authentication agent.
приходится сбрасывать ssh-agent /bin/bash
zlayaptichka
Сообщения: 33
Зарегистрирован: Вт апр 01, 2014 2:38 am
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение zlayaptichka » Вс апр 06, 2014 11:20 am

PAV писал(а):Вот что не так?
Я прописываю ключ Pi, затем перехожу sudo -u www-data
Прописываю ключ www-data.
ssh root@192.168.1.2 uptime - все хорошо.
Apr 6 09:29:41 PAVcloud sshd[7192]: Accepted publickey for root from 192.168.1.254 port 53677 ssh2
Apr 6 09:29:41 PAVcloud sshd[7192]: Received disconnect from 192.168.1.254: 11: disconnected by user
Та же команда от MJD ничего не дает.
Apr 6 09:37:51 PAVcloud sshd[7612]: Failed password for root from 192.168.1.254 port 53690 ssh2
Apr 6 09:37:51 PAVcloud sshd[7612]: Failed password for root from 192.168.1.254 port 53690 ssh2
Apr 6 09:37:51 PAVcloud sshd[7612]: Connection closed by 192.168.1.254 [preauth]
Теперь, если даю команду www-data@raspberrypi:~$ sudo -u pi ssh root@192.168.1.2
то получаю
root@192.168.1.2's password:

Ну почему??????? Я же уже прописал ключ Pi и он работал.
Как посмотреть от кого MJD запускает команды? Точно ли от www-data?

Да, постоянно вываливается Could not open a connection to your authentication agent.
приходится сбрасывать ssh-agent /bin/bash

Код: Выделить всё

Как посмотреть от кого MJD запускает команды? Точно ли от www-data? 
Посмотреть конфиг веб-сервера.
Просмотрите файлы /etc/nginx/nginx.conf и /etc/apache2/apache2.conf и поищите строку "user"
PAV
Сообщения: 926
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 67 раз
Поблагодарили: 90 раз

Re: Не подскажете конфиг для nginx для majordomo?

Сообщение PAV » Пн апр 07, 2014 9:18 am

Мда, апачи ссылается на www-data, что же не работает зараза?
Я умом понимаю, что дело в авторизации, но как поправить не понимаю.
Можете помочь прописать последовательность команд, чтобы ключ назначить www-data

Захожу через putty на Pi
Login Pi
Pass pass
Дальше как?
pi@raspberrypi ~ $ sudo -u www-data /bin/bash
www-data@raspberrypi:/home/pi$ cd /var/www
www-data@raspberrypi:~$ ssh-agent /bin/bash
www-data@raspberrypi:~$ ssh-add mjd
Enter passphrase for mjd:
Identity added: mjd (mjd)
После такого от www-data доступ работает, но от МЖД нет.
Но в то же время сомнения, что все правильно делаю, т.к. если сделать exit? потом опять из-под Pi зайти www-data то видно, что ключ не сохранился.
Правильно я делаю?
Ответить