- Oto samouczek wideo
Skrypty i pliki konfiguracyjne są dostępne
tutaj:
- Zainstaluj sshpass
SLES | openSUSE Leap 15.4
1
|
sudo zypper install sshpass
|
Debian
1
|
sudo apt install sshpass
|
Red Hat
1
|
sudo dnf install sshpass
|
- Utwórz plik
i umieść w nim hasło dla użytkownika, który obecnie może łączyć się z zdalnymi hostami.
- Ustaw plik skryptu jako tylko do odczytu dla tego użytkownika
- Utwórz listę serwerów z adresami IP lub nazwami hostów
- Utwórz skrypt
I dodaj poniższą zawartość
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/bin/bash
servers=$(cat servers)
echo -n "Wpisz nazwę użytkownika: "
read userName
echo -n "Wpisz UID użytkownika: "
read userUID
echo -n "Wpisz hasło: "
read -s passwd
clear
for i in $servers; do
sshpass -f pass_file ssh -q -t $USER@$i "hostname; sudo useradd -m -u $userUID $userName -d /home/$userName -s /bin/bash && echo '$userName:$passwd' | sudo chpasswd"
if [ $? -eq 0 ]; then
echo "Użytkownik '$userName' dodany na '$i'" || echo "Użytkownik '$userName' już istnieje na '$i'"
else
echo "Błąd na $i"
fi
done
echo
read -n1 -s -p "Sprawdzić? (t)ak lub (n)ie " ans
echo
if [ $ans == 't' ] ;then
for i in $servers; do
sshpass -f pass_file ssh -q -t $USER@$i "hostname; id $userName"
done
fi
|
-
Upewnij się, że PasswordAuthentication ma ustawioną wartość logiczną na tak w pliku /etc/ssh/sshd_config na zdalnych serwerach
-
Ustaw skrypt jako wykonywalny
- Wykonaj skrypt
- Podaj nazwę użytkownika: ansible, UID i hasło.