@frizesb

Как сделать чтобы в bash скрипте при использовании sshpass последующие команды выполнял с использованием пароля?

Как сделать чтобы в bash скрипте при использовании sshpass последующие команды выполнял с использованием пароля
вот файл основого скрипта
#!/bin/bash

#отладка скрипта

#имя пользователя
username=$(cat /home/administrator/crontab/usr)
#файл с паролем
password=$(cat /home/administrator/crontab/pass)

# имя обрабатываемых хостов
hostnames="
vld-prod1-03
"

# лог файл
log="/home/administrator/crontab/222.txt"
log2="/home/administrator/crontab/fulllog.txt"
# замена hostnames на H в сокращении
for H in $hostnames
do
if
if
# копируем файлы с нашего пк на удаленный хост для дальнейшего выполнения
sshpass -p "$password" scp -r -o StrictHostKeyChecking=no /home/administrator/crontab $username@$H:/home/administrator
then
echo "scp УСПЕШНО"
else
echo "scp ПРОВАЛ"
fi
if
# выполняем соединение с другим хостом
sshpass -p "$password" ssh -o StrictHostKeyChecking=no $username@$H "`cat /home/administrator/crontab/2`"
then
echo "ssh УСПЕШНО"
else
echo "ssh ПРОВАЛ"
fi
then
echo "$H - Успешно выполнено" >> $log
else
echo "$H - Ошибка выполнения" >> $log
fi
sleep 2
done

вот второй файл с командами
#!/bin/bash
password=$(cat /home/administrator/crontab/pass)

for P in $password
do

if
sudo mkdir /home/user/.cron
then
echo "OK"
else
exit
fi
if
cp -f -rp /home/administrator/crontab/crontab/del.sh /home/user/.cron
then
echo "OK"
else
exit
fi
if
crontab -u user /home/administrator/crontab/crontab/reg
then
echo "OK"
else
exit
fi
if
m -rf /home/administrator/crontab
then
echo "OK"
else
exit
fi
exit

done



Подскажите что делаю не так и как реализовать
  • Вопрос задан
  • 517 просмотров
Пригласить эксперта
Ответы на вопрос 1
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Use Ansible, Luke.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы