Страница 3 из 5
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Пт апр 04, 2014 9:21 pm
PAV
если я захожу на Pi через ssh и даю команду ssh root@192.168.1.2 uptime то я получаю данные.
Не получается, когда MJD сам запрашивает.
По вашим советам не получилось;(
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Пт апр 04, 2014 9:37 pm
zlayaptichka
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
на клиенте majordomo, скрипт получения:
Код: Выделить всё
<?php
$uptime=shell_exec('curl http://192.168.1.2/uptime.php');
?>
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Пт апр 04, 2014 10:32 pm
zlayaptichka
Вот ещё в этой теме есть скрипт:
http://smartliving.ru/forum/viewtopic.p ... 541#p10376
(надо поменять в скрипте
Код: Выделить всё
if (!($stream = ssh2_exec($con, "reboot" ))) {
на
Код: Выделить всё
if (!($stream = ssh2_exec($con, "uptime" ))) {
)
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Пт апр 04, 2014 11:32 pm
PAV
Я запутался. MJD от какого пользователя работает - pi или www-data?
Я ключи прописал под pi.
Пароля www-data я не знаю, как под него прописать ключи?
Кстати часто возникает ошибка Could not open a connection to your authentication agent. когда ключ прописываю
Сбрасываю ssh-agent /bin/bash
Первый вариант, похоже, был правильный, но надо с авторизацией разобраться.
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Пт апр 04, 2014 11:41 pm
zlayaptichka
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 нету - он пустой.
Можно установить:
Как зайти под www-data?
Используйте команду:
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Сб апр 05, 2014 8:18 am
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.
Требует пароль
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Сб апр 05, 2014 1:57 pm
zlayaptichka
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
и добавьте следующую строчку
После настройки, поменяйте команду на эту:
p.s. ssh-add запускайте без параметров:
и добавьте пользователя www-data в группу sudo:
После этого, зайдя под 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 и разрешите ему доступ к командам.
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Вс апр 06, 2014 8:40 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
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Вс апр 06, 2014 11:20 am
zlayaptichka
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"
Re: Не подскажете конфиг для nginx для majordomo?
Добавлено: Пн апр 07, 2014 9:18 am
PAV
Мда, апачи ссылается на 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 то видно, что ключ не сохранился.
Правильно я делаю?