Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Удаленное выполнение команд
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
-=Vitaly=-
Доброе утро Уважаемые.

Можно ли в линухе из-под одной операционки по сетке посылать команду на выполнение на другой линуховой машине, пароли все есть.
Надо что-то типа ssh или telnet только не интерактивно, чтобы можно было в скрипте использовать для настройки компов.
HARMHARM
Цитата(-=Vitaly=- @ Jan 11 2007, 08:40) *
Доброе утро Уважаемые.

Можно ли в линухе из-под одной операционки по сетке посылать команду на выполнение на другой линуховой машине, пароли все есть.
Надо что-то типа ssh или telnet только не интерактивно, чтобы можно было в скрипте использовать для настройки компов.

Самый простой вариант - rsh, но не безопасный. Именно для этого и используется. Использовать безопасный ssh неинтерактивно несколько сложнее, немного по этому поводу описано здесь и здесь.
Tanya
Цитата(-=Vitaly=- @ Jan 11 2007, 09:40) *
Доброе утро Уважаемые.

Можно ли в линухе из-под одной операционки по сетке посылать команду на выполнение на другой линуховой машине, пароли все есть.
Надо что-то типа ssh или telnet только не интерактивно, чтобы можно было в скрипте использовать для настройки компов.

Есть такой еще вариант. Машины, которые должны управляться, монтируют по сети с управляющей машины некоторую директорию, в которую Вы кладете (зашифрованные, если нужно) скрипты (можно с разными именами для разных машин). Дальше cron работает. Можно даже по ftp (wget или что больше нравится).
SM
Цитата(Tanya @ Jan 11 2007, 10:11) *
Дальше cron работает.


Или просто touch'нуть кого нибудь там, а дальше дело техники.
Tanya
Цитата(-=Vitaly=- @ Jan 11 2007, 09:40) *
Доброе утро Уважаемые.

Можно ли в линухе из-под одной операционки по сетке посылать команду на выполнение на другой линуховой машине, пароли все есть.
Надо что-то типа ssh или telnet только не интерактивно, чтобы можно было в скрипте использовать для настройки компов.

Можно даже письмом, тогда даже через экраны можно управлять, если другие пути закрыты.
?ELF
Цитата(-=Vitaly=- @ Jan 11 2007, 11:40) *
Доброе утро Уважаемые.

Можно ли в линухе из-под одной операционки по сетке посылать команду на выполнение на другой линуховой машине, пароли все есть.
Надо что-то типа ssh или telnet только не интерактивно, чтобы можно было в скрипте использовать для настройки компов.


IMHO:
самое то для такой задачи ― SCP + Cron + script на { perl или python или php или shell }

немного про: SCP http://ru.wikipedia.org/wiki/SCP
Tanya
Цитата(?ELF @ Jan 12 2007, 13:56) *
Цитата(-=Vitaly=- @ Jan 11 2007, 11:40) *

Доброе утро Уважаемые.

Можно ли в линухе из-под одной операционки по сетке посылать команду на выполнение на другой линуховой машине, пароли все есть.
Надо что-то типа ssh или telnet только не интерактивно, чтобы можно было в скрипте использовать для настройки компов.


IMHO:
самое то для такой задачи ― SCP + Cron + script на { perl или python или php или shell }

немного про: SCP http://ru.wikipedia.org/wiki/SCP

from man:
Unlike rcp(1), scp will ask for passwords or passphrases if
they are needed for authentication.
nazim
Цитата(-=Vitaly=- @ Jan 11 2007, 10:40) *
Доброе утро Уважаемые.

Можно ли в линухе из-под одной операционки по сетке посылать команду на выполнение на другой линуховой машине, пароли все есть.
Надо что-то типа ssh или telnet только не интерактивно, чтобы можно было в скрипте использовать для настройки компов.



Большинство администраторов использует для этих целей ssh. Для того чтобы не вводить пароль каждый раз использются крипто-ключи. Схема примерно такая:

1) Вы генерируете на клиентской машине пару (private/public) RSA или DSA ключей с помошью ssh-keygen. $ssh-keygen для RSA ключа или $ssh-keygen -d для DSA. Ключи по умолчанию создаются в папке .ssh в Вашей домашней директории.

$ssh-keygen -d


2) Далее, копируете свой публичный ключ в папку ~/.ssh/ на удаленном сервере и добавляете его в файл ~/.ssh/authorized_keys.

$cat id_dsa.pub >> ~/.ssh/authorized_keys


3) На клиентской машине запускаете ssh-agent, эта утилита будет кэшировать ключи, т.е вы будете вводить пароль лишь один раз. Когда Вам понадобится соединиться с сервером в следующий раз, ssh-agent "введет пароль за Вас". Если неохота запускать ssh-agent вручную при каждом логине, то запускайте его из .bash_profile, например.

$eval `ssh-agent`

4) Для того чтобы ssh-agent прочитал ключи, то сначала нужно их подгрузить с помошью ssh-add, который спросит пароль на ключ и загрузит его.

$ssh-add

5) Теперь Вам достаточно набрать в коммандной строке ssh user@host.domain и Вы соединитесь с сервером без утомительного ввода пароля.

Можно вместо ssh-agent использовать ssh-keychain


Теперь SSH с легкостью позволит запускать скрипты удаленно, а SCP копировать файлоы.
Пример: $ssh user@host.domain "/bin/netstat -A inet -A inet6 -an"
Показывает открытые ip & ipv6 сокеты на удаленной системе.

Преимущества данного метода в том что трафик шифруется, пароль не передается в зашифрованном виде по сети.

Недостаток заключается в том что требуется вводить пароли к ключам после каждой перезагрузки. Сам не пробовал, но думаю что этот недостаток можно преодолеть с помошью expect скрипта, который будет загружать ключи ssh-add'ом и скармливать им пароли из списка. Пароли правда будут незашифрованными храниться. ;)

И последнее, ---никогда--- не пользуйтесь незашифроваными ключами! (Некоторые делают это чтобы избавиться от ввода пароля.)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.