
我有一個腳本可以將 shell 腳本從一台伺服器傳輸到另一台伺服器。傳輸的腳本將更改我的用戶的密碼。我能夠傳輸腳本,但無法使用 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
在此先感謝您的幫忙!