Сегодня мне трудно работать с ssh и bash. Мне нужно запустить скрипт с параметрами, которые являются локальными файлами, работающими через ssh-соединение. Вот скрипт, который обрабатывает соединение ssh:
#!/bin/bash
if [ $# -ne 3 ]
then
echo "Incorrect number of parameters"
exit
fi
cat "$3" | while read line;
do
ssh -o ConnectTimeout=5 -i ./private_key as@$line < ./mod_users.sh "$1" "$2"
if [ $? -ne 0 ]
then
echo "$line is not accesible"
fi
done
Параметр "$ 2" - это локальный файл в машине, с которой я делаю ssh. Скрипт "mod_users.sh" добавляет или удаляет группу пользователей, которые он читает из "$ 2".
Я пытаюсь выполнить скрипт "mod_users.sh" через ssh и добавить или стереть массовое количество пользователей с компьютера, подключенного к сети. Кроме того, как вы можете видеть, все машины, к которым я подключаюсь, имеют свой открытый ключ, поэтому я подключаюсь через пару секретный / открытый ключ, чтобы удаленные машины не запрашивали пароль.
Надеюсь, этого достаточно. Если вам нужна дополнительная плата, просто попросите ее, я буду рад ответить.
РЕДАКТИРОВАТЬ: Кроме того, возможно ли запустить сценарий с sudo на удаленном компьютере?