Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
else
logline="File $file from host $hostname was succesfully transferred"; safe_logger
chown $daily_backup_owner:$daily_backup_group $file
chmod $daily_backup_mode $file
fi
done
# Return to top
cd $ringdir
done
Последнее и самое важное действие скрипта – поочередное копирование файлов из списка, полученного на предыдущем шаге. Выполняется команда scp, и результат ее работы заносится в переменную status. В зависимости от значения переменной status выдается сообщение либо об успешном завершении копирования (при этом устанавливаются права и режим доступа, соответствующие параметрам, перечисленным в пункте «Настройка скрипта»), либо об аварийном завершении (и тогда в журнал заносится код ошибки, расшифровку которого можно посмотреть в man ssh2).
Возможные ошибки и изменения скрипта
Если скрипт работает не так, как ожидается, то, скорее всего, имеет место ошибка в настройке SSH (по крайней мере, почти все ошибки, с которыми я сталкивался после завершения его разработки, были такого плана). Это очень просто проверить – достаточно с консоли мастер-компьютера набрать ssh remotebox, где remotebox – имя любого компьютера, с которого должны копироваться данные. Если сразу же открывается терминал удаленного компьютера – все нормально (при этом motd показываться не должно). Если же появляется запрос пароля на разблокирование ключа, запрос пароля на регистрацию на удаленном компьютере или какие-либо сообщения об ошибках – следует устранить ошибки и повторить.
Единственной ошибкой, которую можно совершить при генерации ключа, является запуск ssh-keygen2 без ключа -P. При этом при генерации ключа будет запрошен пароль. Если при генерации ключа появился запрос пароля, лучше генерацию прервать и запустить ssh-keygen2 заново с ключом -P.
Самой распространенной ошибкой авторизации является то, что ключ мастер-компьютера не помещен в каталог .ssh2 пользователя rmbackup удаленного компьютера, не описан в файле authorization, или в имени ключа допущена банальная опечатка. Если ключ для пользователя rmbackup создавался через su rmbackup от пользователя root, возможно, установлены неверные права на файлы identification и authorization (при создании файлов владельцем становится создатель). Второй распространенной ошибкой является задание параметра RequiredAuthentication password в конфигурационном файле sshd.conf на удаленном компьютере, требующего обязательной аутентификации по паролю.
Если терминальная сессия на удаленном компьютере открывается нормально, то следует попробовать вручную ввести команду (вместо 192.168.1.1 подставить IP или имя компьютера, с которого должны быть получены файлы):
>su rmbackup
>ssh2 -o "BatchMode yes" -q 192.168.1.1 "cd /etc && /bin/ls -1"
Если в результате выполнения этой команды получается оглавление каталога /etc (в chroot это файлы group, passwd, pwd.db и spwd.db) – значит, следует проверить работу scp. Иначе следует проверить файл журнала, в который выводятся сообщения от SSH-сервера на удаленном компьютере на предмет сообщений об ошибках и устранить их.