Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Копирование файлов в автоматическом режиме с множества компьютеров через SSH


Рашид Ачилов

Постановка задачи

Предположим, имеется некоторое количество компьютеров под управлением операционной системы UNIX (Windows) с запущенным SSH-сервером, на которых автоматически по расписанию в некоторое время стартует программа, создающая резервные копии некоторых каталогов (например, /etc, /usr/local/etc) и складывающая их в определенное место. Пример такого скрипта, адаптированного под систему periodic во FreeBSD, можно скачать с http://www.granch.ru/~shelton/fileZ/130.backup-dirs. Все используемые параметры описаны в начале скрипта. Для обеспечения сохранности данных архивов было бы неплохо копировать их все в одну точку, откуда их можно было бы перенести на съемный носитель, например. Копирование должно проводиться в автоматическим режиме, все имена каталогов – быть уникальными, требовать минимум настроек и обеспечивать максимум безопасности при передаче данных по сети (если, например, архив /etc попадет в чужие руки, можно получить столько проблем, что мало не покажется). С этой целью был разработан скрипт копирования файлов через SCP2 (программу безопасного копирования, входящую в комплект SSH2) без ввода паролей, используя авторизацию с помощью публичных ключей. Скрипт выполняет копирование файлов, размещенных в некотором, заранее обусловленном каталоге, отмечает каждое действие в собственном файле журнала. В статье скрипт будет приводиться по частям (которые, будучи объединены вместе, тем не менее дадут полноценный скрипт), полный текст скрипта можно загрузить с http://www.granch.ru/~shelton/fileZ/safecopy.

Для разработки скрипта, отладки и применения использовался компьютер с операционной системой FreeBSD 4.10-STABLE и SSH2 от SSH Communications Inc., установленный из портов (/usr/ports/security/ssh2). Скрипт имеет некоторые адаптационные возможности для работы с OpenSSH, но работоспособность этих возможностей не проверялась и может содержать ошибки. Для работы скрипта использовалось имя пользователя rmbackup.

Настройка SSH

SSH – это протокол связи двух компьютеров через TCP/IP c шифрованием передаваемых данных. Этот протокол обеспечивает надежный и безопасный доступ к удаленному компьютеру, расположенному... да неважно где, лишь бы у него был выход в Интернет. С точки зрения рядового системного администратора SSH обычно рассматривается как безопасное средство удаленного управления сервером, для чего ранее использовалась программа telnet. Конечно, есть и другие средства шифровки трафика, но их мы рассматривать не будем.

Разумеется, шифрование сессии во время работы по SSH выполняется, но возможности SSH не исчерпываются только этим. Я не буду приводить здесь описание всех возможностей SSH, это тема для отдельной статьи, всех интересующихся отсылаю к документации на SSH2 (http://www.ssh.fi/support/documentation/online/ssh/adminguide/32).

Одной из возможностей SSH является то, что он может выполнять авторизацию пользователей и организовывать удаленное выполнение команд в SSH-сессии без ввода пароля, с помощью так называемого публичного ключа. Эта возможность основана на стандартном методе авторизации с помощью асимметричных ключей – приватного и публичного.

Приватный ключ доступен только пользователю и тщательно им оберегается от хищения, публичный же ключ, наоборот, размещается во всех местах, где только можно его разместить. На мой взгляд, наиболее удачное описание того, как работает SSH и как его использовать (не считая, конечно, man ssh2, man ssh.conf и прочих манов) – это книга «SSH, the Secure Shell: Definitive Guide» [1].

После того как принято решение о включении данного компьютера в автоматическое копирование файлов, но перед тем как начинать собственно копирование, необходимо выполнить следующие шаги по настройке SSH:

1. Создаем пользователя, от имени которого будет выполняться копирование файлов. Пользователь может не иметь пароля («*» в поле пароля в /etc/master.passwd), но должен иметь действительный shell, поскольку он (shell) будет выполнять некоторые команды. Пользователь должен быть создан на всех компьютерах, с которых будут копироваться файлы, и на всех компьютерах иметь одинаковые настройки и имя. Это не обязательно с точки зрения SSH, но необходимо для скрипта, поскольку тот использует одно фиксированное имя пользователя. Интерактивной работы на компьютерах, с которых будут копироваться данные, никогда не будет, поэтому /bin/sh будет вполне достаточно. На компьютере, на котором будет выполняться скрипт (назовем его «мастер») установите любой привычный shell.

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


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100