Как организовать управление группой ПК: различия между версиями
Материал из IT в школе
Перейти к навигацииПерейти к поиску
Kekaloav (обсуждение | вклад) |
Kekaloav (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
=== Найти Linux ПК в сети === | === Найти Linux ПК в сети === | ||
Строка 18: | Строка 19: | ||
for i in `cat hosts.txt` | for i in `cat hosts.txt` | ||
do | do | ||
(sleep 1;echo "${ROOTPASS}";sleep 1; echo "${SSHKEY}" >> /root/.ssh/autorized_hosts ; echo exit; sleep 1; echo exit) | sshpass -p ${USERPASS} ssh -oStrictHostKeyChecking=no ${USER}@${i} su - | (sleep 1;echo "${ROOTPASS}";sleep 1; echo "${SSHKEY}" >> /root/.ssh/autorized_hosts ; echo exit; sleep 1; echo exit) | sshpass -p ${USERPASS} ssh -tt -oStrictHostKeyChecking=no ${USER}@${i} su - | ||
done | done | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия 22:37, 8 декабря 2022
Найти Linux ПК в сети
Поиск осуществляется по наличию открытых портов 22 (ssh) и 631 (cups)
#!/bin/bash
nmap -n --stats-every 1s -p 22,631 172.xx.xx.0/23 | grep -B 5 "631/tcp open" | grep -B 4 "22/tcp open" | grep 172 | sed 's/Nmap scan report for //' | grep -v Nmap > hosts.txt
hosts.txt - список имен или адресов компьютеров
Установить ключи для root доступа по ssh
#!/bin/bash
ssh-keygen -t ed25519
SSHKEY=`cat ${HOME}/.ssh/ed_id22519.pub`
ROOTPASS="12345678"
USER="user"
PASS="12345678"
for i in `cat hosts.txt`
do
(sleep 1;echo "${ROOTPASS}";sleep 1; echo "${SSHKEY}" >> /root/.ssh/autorized_hosts ; echo exit; sleep 1; echo exit) | sshpass -p ${USERPASS} ssh -tt -oStrictHostKeyChecking=no ${USER}@${i} su -
done
Поменять пароли
при наличии ssh доступа по ключу к root
#!/bin/bash
USER="root"
PASS="12345678"
for i in $(cat hosts.txt)
do
ssh -oStrictHostKeyChecking=no root@$i 'chpasswd <<<"${USER}:${PASS}"'
done