SalverTere
05.04.12, 13:58
Tag,
ich hab ein kleines Problemchen und komm nicht wirklich weiter.
und zwar:
ich habe mehrere Linux Server die alle einem Sprungserver angebunden sind (auch linux).
Sobald der Passwortwechsel wieder ansteht darf ich halt auf jeden Server drauf und das Passwort ändern. Bei immer mehr Servern wird das nervig.
Mein Gedanke:
Skript starten auf dem Sprungserver - dies verbindet sich dann per ssh jeweils einzeln auf die Server. Macht dann dort ein passwd und vergibt ein neues Passwort:
#!/bin/sh
#for i in `more ~/userlist.txt `
#select i in `grep -i "HostName " .ssh/config | awk '{print $2}'`
#Liste in der alle Server hinterlegt sind
for i in `grep -i "HostName " .ssh/config | awk '{print $2}'`
do
echo $i
set -x
#verbinden auf den einzelnen Server:
ssh meinuser@$i -l meinuser 'passwd <<EOF
AltesPasswort
NeuesPasswort
NeuesPasswort
EOF';
done
oder so (hat aber auch nicht funktioniert:
#for i in `more ~/userlist.txt `
#select i in `grep -i "HostName " .ssh/config | awk '{print $2}'`
for i in `grep -i "HostName " .ssh/config | awk '{print $2}'`
do
echo $i
set -x
ssh meinuser @$i "passwd; AltesPasswort; echo NeuesPasswort; echo NeuesPasswort"
sleep 10
#echo NeuesPasswort| passwd meinuser
done
Jemand eine Idee?
Danke.
ich hab ein kleines Problemchen und komm nicht wirklich weiter.
und zwar:
ich habe mehrere Linux Server die alle einem Sprungserver angebunden sind (auch linux).
Sobald der Passwortwechsel wieder ansteht darf ich halt auf jeden Server drauf und das Passwort ändern. Bei immer mehr Servern wird das nervig.
Mein Gedanke:
Skript starten auf dem Sprungserver - dies verbindet sich dann per ssh jeweils einzeln auf die Server. Macht dann dort ein passwd und vergibt ein neues Passwort:
#!/bin/sh
#for i in `more ~/userlist.txt `
#select i in `grep -i "HostName " .ssh/config | awk '{print $2}'`
#Liste in der alle Server hinterlegt sind
for i in `grep -i "HostName " .ssh/config | awk '{print $2}'`
do
echo $i
set -x
#verbinden auf den einzelnen Server:
ssh meinuser@$i -l meinuser 'passwd <<EOF
AltesPasswort
NeuesPasswort
NeuesPasswort
EOF';
done
oder so (hat aber auch nicht funktioniert:
#for i in `more ~/userlist.txt `
#select i in `grep -i "HostName " .ssh/config | awk '{print $2}'`
for i in `grep -i "HostName " .ssh/config | awk '{print $2}'`
do
echo $i
set -x
ssh meinuser @$i "passwd; AltesPasswort; echo NeuesPasswort; echo NeuesPasswort"
sleep 10
#echo NeuesPasswort| passwd meinuser
done
Jemand eine Idee?
Danke.