15.09.2015

puppet [start]

1. Server:
sudo apt-get install -y puppetmaster

2. Client:
sudo apt-get install -y puppet

3. Client config /etc/puppet/puppet.conf:
[agent] server = mysuperserver node_name = cert certname = nameofworkstation 

mysuperserver - domain name (DNS server/ hosts file)

4. Test on client station:
puppet agent --test

5. Accept cert request:
puppet cert sign nameofworkstation

puppet cert --list (server cert request list)

6. on client run:
puppet agent --enable
puppet agent --test
install script(SERVER):
#!/bin/bash echo ============================================= echo Устанавливаем сервер puppet echo ============================================= apt-get install -y puppetmaster echo ============================================= COMMAND=nope while [ "$COMMAND" != "end" ] do echo ============================================= echo Запустите скрипт client.sh на следующем ноутбуке. Когда ноутбук попросит вас об этом, нажмите [ENTER] здесь, чтобы авторизовать клиента. Нажмите Ctrl+C, если вы закончили работу. echo ============================================= COMMAND=`read` echo ============================================= echo Авторизуем клиента echo ============================================= puppet cert sign --all done  

install script(CLIENT)

#!/bin/bash # поменяйте эти 2 переменные для соответствия вашему окружению MASTER_IP=192.168.0.100 SERVER_NAME=server echo ============================================= echo Генерируем ID машины echo ============================================= sudo apt-get install -y uuid ID=`uuid` echo ============================================= echo Добавляем доменное имя $SERVER_NAME для $MASTER_IP echo ============================================= echo $MASTER_IP $SERVER_NAME >> /etc/hosts echo ============================================= echo Устанавливаем puppet echo ============================================= sudo apt-get install -y puppet echo ============================================= echo Прописываем ваш сервер в конфигурации puppet echo ============================================= sudo cat >> /etc/puppet/puppet.conf << EOF [agent] server = $SERVER_NAME node_name = cert certname = workstation-$ID EOF echo ============================================= echo Отправляем сертификат на сервер echo ============================================= puppet agent --test echo ============================================= echo Авторизуйте клиента на сервере и затем нажмите [ENTER], чтобы данный скрипт завершил работу по настройке соединения. echo ============================================= read -n 1 echo ============================================= echo Заканчиваем работу echo ============================================= puppet agent --enable puppet agent --test echo ============================================= echo Завершено echo =============================================

Пользоваться ими очень просто:
1. Модифицируете client.sh для соответствия своему окружению: IP-адрес сервера (надо его сделать статическим) и имя сервера (это должно быть имя компьютера, заданное при установке Ubuntu). Это первые 2 переменные в начале файла, надо их поправить.
2. На сервере запускается server.sh, затем на каждом из клиентов client.sh. После этого на сервере нажимаете Enter, чтобы разрешить серверу подписать все сертификаты клиентов.
3. Потом нажимаете Enter на каждом из клиентов, чтобы они повторно подключились к серверу с уже валидным сертификатом и применили все доступные конфигурации.
4. Нажимаете Ctrl+C на сервере, чтобы завершить процесс.
После выполнения этой нехитрой процедуры ноутбуки будут автоматически подключаться к серверу при включении и каждые 10 минут и проверять доступные конфигурации. И, естественно, применять их, если они есть. Красота!

Установка VNC и все остальное: