информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСтрашный баг в WindowsЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / dnet
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Все, спасибо. 21.08.04 13:01  Число просмотров: 1968
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
Отредактировано 21.08.04 13:05  Количество правок: 1
<"чистая" ссылка>
Просто не знал, в каком направлении рыть (по причине малого опыта с *nix думал, что по ssh на автомате залететь нельзя :-) - только через пароль).

В общем, вот рецепт - может, кому еще пригодится:

1. Создаем одинаковых юзеров на клиенте (та машина, с которой будут запускаться все остальные) и на серверах (те тачки, на которых нужно будет запускать клиентов).

2. На клиенте генерируем пару ключей при помощи
ssh-keygen -d
Эта команда создаст в папке $HOME/.ssh 2 файла:
id_dsa и id_dsa.pub
Файл id_dsa.pub необходимо положить на каждый из серверов в соотв. папку ($HOME/.ssh), однако переименовав его в authorized_keys (в этот файл при необходимости можно после добавлять еще ключи для других хостов)

3.На тачке-клиенте ваяем скрипт по следующему образцу:
#!/bin/sh dnetc=/home/user/dnetc/dnetc hosts="host1 host2 host3" if [ "$1" = "start" ]; then for host in ${hosts}; do ssh $host $dnetc" -hide" done elif [ "$1" = "stop" ]; then for host in ${hosts}; do ssh $host $dnetc" -shutdown" done else echo "Unknown command $1" fi

В общем, вместо переменной $dnetc подставляем свое значение.
Ну и в массив hosts пишем через пробел названия хостов или их IP-адреса.

После этого скрипт, запущенный с параметром start запустит клиентов на всех Нужных хостах, а с параметром stop - остановит их.
Можно еще вместо
ssh $host $dnetc
прописать
ssh "user@"$host $dnetc
я так понимаю, что это даст возможность запускать скрипт от имени любого пользователя (хотя и не проверял). В крон его засовывать не хочу - буду стартовать ручками, так что вопрос пользователя неактуален пока.

Если есть какие-то замечания/дополнения - буду рад и признателен!

Единственное, что меня смутило в бздевом клиенте - так это то, что если запускать его с -hide а потом останавливать с -shutdown, то слышна ругань вроде:
dnetc: No distributed.net clients were found. None shutdown.
хотя клиент на самом деле останавливается вполне корректно.

> Хотя как не засветить в процессах
> софтину, съедающую всё процессорное время, не знаю...

Да нет, ночью пусть себе светится :-)
главное, чтобы днем все тип-топ было ;-)
<dnet>
скрипт для запуска вручную на freebsd с удаленной тачки 17.08.04 21:07  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
<"чистая" ссылка>
Итак, имеем несколько машин, работающих под управлением FreeBSD. По ночам они практически простаивают.
Нужно запускать на них всех клиента каждую ночь и вырубать его поутру.
cron не предлагать - как раз смысл в том, чтобы клиента не особо светить.
Идеальным был бы такой вариант: налабать скрипт, который ручками (или уж по крону) запускался бы на одной машине и запускал бы клиентов на остальных.
Не подойдет вариант с "pause flagfile" - клиента желательно без надобности в процессах не светить.
А теперь скажите мне: такое вообще возможно? Или я занимаюсь дурней?
Если возможно, то с какой стороны к скрипту подходить? как вообще можно запустить какой-либо скрипт на удаленной машине? Я так понимаю, что ssh не пойдет - нужно ведь запускать демонов. А рутом по ssh нельзя (точнее можно, но я открывать это дело не хочу по своим соображениям).
В общем, скажите хоть что-то...
Проверил, работает 18.08.04 14:35  
Автор: VEK Статус: Незарегистрированный пользователь
<"чистая" ссылка>
IMHO все просто. На одной машине руками или кроном запускаешь
ssh hostN /path/to/dnetc -hide
утром - ssh hostN /path/to/dnetc -shutdown
Не обязательно рутом, клиент запускается любым пользователем. Сейчас проверил все работает. Единственый момент, где могут быть трудности, это настройка запуска без запроса пароля или парольной фразы из крона.
А чем не устраивает dnetc -hide / -shutdown? Ну и sh-скрипт... 18.08.04 14:02  
Автор: ddmitry Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А чем не устраивает dnetc -hide / -shutdown? Ну и sh-скрипт соответствующий. Скриптик лезет на сервер по ssh (авторизация по ключам), запускает клиента, отключается. И так по-очереди. А утром то же самое с -shutdown. Можно попробовать screen. Хотя как не засветить в процессах софтину, съедающую всё процессорное время, не знаю... Может быть какой-нибудь руткит.
Все, спасибо. 21.08.04 13:01  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
Отредактировано 21.08.04 13:05  Количество правок: 1
<"чистая" ссылка>
Просто не знал, в каком направлении рыть (по причине малого опыта с *nix думал, что по ssh на автомате залететь нельзя :-) - только через пароль).

В общем, вот рецепт - может, кому еще пригодится:

1. Создаем одинаковых юзеров на клиенте (та машина, с которой будут запускаться все остальные) и на серверах (те тачки, на которых нужно будет запускать клиентов).

2. На клиенте генерируем пару ключей при помощи
ssh-keygen -d
Эта команда создаст в папке $HOME/.ssh 2 файла:
id_dsa и id_dsa.pub
Файл id_dsa.pub необходимо положить на каждый из серверов в соотв. папку ($HOME/.ssh), однако переименовав его в authorized_keys (в этот файл при необходимости можно после добавлять еще ключи для других хостов)

3.На тачке-клиенте ваяем скрипт по следующему образцу:
#!/bin/sh dnetc=/home/user/dnetc/dnetc hosts="host1 host2 host3" if [ "$1" = "start" ]; then for host in ${hosts}; do ssh $host $dnetc" -hide" done elif [ "$1" = "stop" ]; then for host in ${hosts}; do ssh $host $dnetc" -shutdown" done else echo "Unknown command $1" fi

В общем, вместо переменной $dnetc подставляем свое значение.
Ну и в массив hosts пишем через пробел названия хостов или их IP-адреса.

После этого скрипт, запущенный с параметром start запустит клиентов на всех Нужных хостах, а с параметром stop - остановит их.
Можно еще вместо
ssh $host $dnetc
прописать
ssh "user@"$host $dnetc
я так понимаю, что это даст возможность запускать скрипт от имени любого пользователя (хотя и не проверял). В крон его засовывать не хочу - буду стартовать ручками, так что вопрос пользователя неактуален пока.

Если есть какие-то замечания/дополнения - буду рад и признателен!

Единственное, что меня смутило в бздевом клиенте - так это то, что если запускать его с -hide а потом останавливать с -shutdown, то слышна ругань вроде:
dnetc: No distributed.net clients were found. None shutdown.
хотя клиент на самом деле останавливается вполне корректно.

> Хотя как не засветить в процессах
> софтину, съедающую всё процессорное время, не знаю...

Да нет, ночью пусть себе светится :-)
главное, чтобы днем все тип-топ было ;-)
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach