У меня есть небольшой скрипт Kickstart, который (среди прочего) подключается к нашему мастеру Puppet, утверждает запрос сертификата, а затем создает базовую структуру для нового сервера.
В моем разделе сообщений Kickstart у меня есть следующие команды.
# Run the setup script.
exec < /dev/tty6 > /dev/tty6 2>&1
chvt 6
wget http://enoch/ks/setup.sh -O /root/setup.sh
chmod +x /root/setup.sh
bash /root/setup.sh
# And go back to Anaconda
chvt 1
exec < /dev/tty1 > /dev/tty1 2>&1
В setup.sh у меня есть строка
ssh -t $USERNAME@puppetmaster auto_client.sh $HOSTNAME
Это отлично работает при вызове из командной строки, однако, когда я запускаю это из меню Kickstart, мое окно SSH открывается под исходным терминалом и прерывает оставшуюся часть скрипта. Как я могу это исправить?
Хотя это и не решение основного поведения, я решил эту проблему, вернув виртуальный терминал к 1 для двоичного файла SSH, как показано ниже.
echo Running server side script..
chvt 1
ssh -q -t $USERNAME@puppetmaster auto_client.sh $HOSTNAME
chvt 6