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

Материал из IT в школе
Перейти к навигацииПерейти к поиску
Строка 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