1006
правок
Kekaloav (обсуждение | вклад) |
Kekaloav (обсуждение | вклад) Метка: визуальный редактор отключён |
||
Строка 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" | ||
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" | ||
USERPASS="12345678" | |||
for i in $(cat hosts.txt) | for i in $(cat hosts.txt) | ||
do | do | ||
ssh -oStrictHostKeyChecking=no root@$i 'chpasswd <<<"${USER}:${ | ssh -oStrictHostKeyChecking=no root@$i 'chpasswd <<<"${USER}:${USERPASS}"' | ||
#сюда можно добавить и другие команды, например создать пользователя | #сюда можно добавить и другие команды, например создать пользователя | ||
#ssh root@$i useradd student | #ssh root@$i useradd student |