|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (13)
просмотр истории страницы*Управление удаленным NAS-сервером по SSH* |
*Процедура генерации шифрованных ключей:* |
|
Для того, чтобы Carbon Billing смог отправлять на удаленный NAS-сервер команды по SSH необходимо проделать следующие шаги: 1. Добавить NAS-сервер в список NAS-клиентов через меню "Конфигурирование сервера" подменю "Управление NAS-клиентами", в качестве протокола управления указать SSH 2. Сгенерировать специальные шифрованные ключи для доступа биллинга к NAS-серверу по протоколу SSH без пароля (процедура создания ключей описана ниже, это необходимо для автоматизации процесса управления) 3. На NAS-сервере создать специальный скрипт, который будет вызываться удаленно с Carbon Billing и выполнять на NAS необходимые действия (в случае с Carbon AS такие скрипты уже содержатся в системе) |
1. На Carbon Billing в консоли: {code} chroot /app/asr_billing/ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 41:ca:18:64:75:33:39:6b:15:7a:30:7c:a6:53:3d:49 root@localhost.localdomain The key's randomart image is: +--[ RSA 2048]----+ | o=.+=E. | | .+=B++ | | .Oe+.. | | + = . | | + .S | | | | | | | | | +-----------------+ {code} |
|
*Процедура генерации шифрованных ключей:* |
|
1. На Carbon Billing в режиме удаленного помощника: {code}mkdir -p /root/.ssh chmod 700 /root/.ssh cd /root/.ssh ssh-keygen -t dsa (на вопрос о пароле просто нажать Enter) scp -p id_dsa.pub root@remote_nas_ip: (копируем ключ на удаленный NAS-сервер){code} |
2. С помощью утилиты {color:#000000}{*}ssh-copy-id{*}{color} {color:#000000}загружаем открытый ключ на NAS{color}: {code}ssh-copy-id -i /root/.ssh/id_rsa.pub LOGIN@IP_ВАШЕГО_NAS{code} |
|
2. На NAS-сервере (можно зайти прямо с биллинга используя команду ssh root@remote_nas_ip): {code}mkdir -p /root/.ssh chmod 700 /root/.ssh cd /root/.ssh/ cat /root/id_dsa.pub >> /root/.ssh/authorized_keys (добавляем скопированный ключ в доверенные) chmod 600 /root/.ssh/authorized_keys rm -f ~/id_dsa.pub (скопированный ключ больше не нужен){code} |
Проверяем доступ к NAS без пароля: {code}[root@localhost (asr_billing) /]# ssh LOGIN@IP_ВАШЕГО_NAS FreeBSD 11.1-RELEASE-p9 #0: Sat May 2 22:21:41 MSK 2018 |
|
После проведенных действий команда ssh root@remote_nas_ip будет работать без запроса пароля, таким образом вызвать скрипт на удаленной машине с помощью протокола SSH можно так: {code}ssh root@remote_nas_ip /full/path/to/script.sh{code} |
Welcome to FreeBSD! |
|
К примеру подобный способ управления можно использовать в скрипте обработки событий биллинга, чтобы отключить пользователя от NAS-сервера в случае достижения отрицательного баланса. |
TEST@test-nas:~ % {code} |
Примечание: сгенерированный ключ можно использовать на нескольких удаленных NAS-серверах, ключ является открытым и служит для одностороннего доступа с биллинга на NAS-сервер. |