
У меня есть скрипт, который перенесет скрипт оболочки с одного сервера на другой. Перенесенный скрипт изменит пароль для моего пользователя. Мне удалось перенести скрипт, но он не может выполнить его с помощью ssh. Вот мой скрипт:
#!/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
scp часть работает, а ssh с выполнением скрипта на удаленном сервере нет. Я получаю эту ошибку:
"/bin/sh" isn't allowed to be executed.
Содержимое скрипта, который выполняется удаленно через ssh, следующее:
#!/bin/sh
sudo -S echo -e "old_password\nnew_password\nnew_password" | passwd
Заранее спасибо за вашу помощь!