
Ich habe ein Skript, das ein Shell-Skript von einem Server auf einen anderen überträgt. Das übertragene Skript ändert das Passwort für meinen Benutzer. Ich konnte das Skript übertragen, aber es kann es nicht über SSH ausführen. Dies ist mein Skript:
#!/bin/sh
USERNAME=my_user
HOSTS="some.thing.host"
SCRIPT="/bin/sh /home/admin/my_user/tryscp.sh"
PASSWORDS=("init")
for HOSTNAME in ${HOSTS} ; do
/usr/local/bin/sshpass -p ${PASSWORDS[i]} scp /home/my_user/tryscp.sh [email protected]:/home/admin/my_user
/usr/local/bin/sshpass -p ${PASSWORDS[i]} ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done
Der SCP-Teil funktioniert, aber SSH mit der Ausführung des Skripts auf dem Remote-Server nicht. Ich erhalte diesen Fehler:
"/bin/sh" isn't allowed to be executed.
Der Inhalt des Skripts, das remote über SSH ausgeführt wird, ist dieser:
#!/bin/sh
sudo -S echo -e "old_password\nnew_password\nnew_password" | passwd
Vielen Dank im Voraus für Ihre Hilfe!