Как организовать управление группой ПК: различия между версиями

Материал из IT в школе
Перейти к навигацииПерейти к поиску
Строка 1: Строка 1:




Строка 12: Строка 13:


=== Установить ключи для root доступа по ssh ===
=== Установить ключи для root доступа по ssh ===
Доступ по ssh c правами учетной записи администратора запрещен по умолчанию. Тем не менее доступ возможен по ключу. Это значит, что должен быть сгенерирован цифровой ключ (в нашем случае типа ed25519), состоящий из двух частей - открытой и закрытой. Открытую часть надо поместить в специальный файл на ПК, к которому  осуществляетяся доступ. Открытая часть включает имя хоста. При подключении происходит сверка соотвествия открытой и закрытой части и имени подключаемого ПК, и при соответствии осуществляется доступ. Чтобы скопировать ключ нужно войти с правами root. Удаленно это не очень просто - комада su требует ввода пароля вручную. Приведенный скрипт решает проблему автоматизации копирования ключей.<syntaxhighlight lang="bash">
Доступ по ssh c правами учетной записи администратора запрещен по умолчанию. Тем не менее доступ возможен по ключу. Это значит, что должен быть сгенерирован цифровой ключ (в нашем случае типа ed25519), состоящий из двух частей - открытой и закрытой. Открытую часть надо поместить в специальный файл на ПК, к которому  осуществляетяся доступ. Открытая часть включает имя хоста. При подключении происходит сверка соотвествия открытой и закрытой части и имени подключаемого ПК, и при соответствии осуществляется доступ. Чтобы скопировать ключ нужно войти с правами root. Удаленно это не очень просто - комада su требует ввода пароля вручную. Приведенный скрипт решает проблему автоматизации копирования ключей.
 
перед запуском надо установить sshpass, запустив от root
<syntaxhighlight lang="bash">
apt-get -y install sshpass
</syntaxhighlight>
 
<syntaxhighlight lang="bash">
#!/bin/bash
#!/bin/bash
ssh-keygen -t ed25519
ssh-keygen -t ed25519
Строка 18: Строка 26:
ROOTPASS="12345678"
ROOTPASS="12345678"
USER="user"
USER="user"
PASS="12345678"
USERPASS="12345678"
for i in `cat hosts.txt`
for i in `cat hosts.txt`
do
do
Строка 26: Строка 34:


=== Поменять пароли (или другая команда для группы ПК) ===
=== Поменять пароли (или другая команда для группы ПК) ===
при наличии ssh доступа по ключу к root<syntaxhighlight lang="bash">
при наличии ssh доступа по ключу к root
перед запуском надо установить sshpass, запустив от root
<syntaxhighlight lang="bash">
apt-get -y install sshpass
</syntaxhighlight>
 
<syntaxhighlight lang="bash">
#!/bin/bash
#!/bin/bash


USER="root"
USER="root"
PASS="12345678"
USERPASS="12345678"
for i in $(cat hosts.txt)
for i in $(cat hosts.txt)
do  
do  
ssh -oStrictHostKeyChecking=no root@$i 'chpasswd <<<"${USER}:${PASS}"'
ssh -oStrictHostKeyChecking=no root@$i 'chpasswd <<<"${USER}:${USERPASS}"'
#сюда можно добавить и другие команды, например создать пользователя
#сюда можно добавить и другие команды, например создать пользователя
#ssh root@$i useradd student
#ssh root@$i useradd student

Навигация