реклама на сайте
подробности

 
 
> Удаленное выполнение команд
-=Vitaly=-
сообщение Jan 11 2007, 09:40
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 468
Регистрация: 31-08-06
Из: Киев
Пользователь №: 19 991



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

Можно ли в линухе из-под одной операционки по сетке посылать команду на выполнение на другой линуховой машине, пароли все есть.
Надо что-то типа ssh или telnet только не интерактивно, чтобы можно было в скрипте использовать для настройки компов.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nazim
сообщение Jan 12 2007, 15:00
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 9-01-06
Из: Баку, Азербайджан
Пользователь №: 12 978



Цитата(-=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'ом и скармливать им пароли из списка. Пароли правда будут незашифрованными храниться. ;)

И последнее, ---никогда--- не пользуйтесь незашифроваными ключами! (Некоторые делают это чтобы избавиться от ввода пароля.)

Сообщение отредактировал nazim - Jan 12 2007, 15:18
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016