Trebuie să scriu un script pentru ca eu și colegii mei să putem reporni diferite servicii pe mai multe servere.Cu toții ne conectăm la servere cu LDAP, așa că aș dori ca scriptul meu să conecteze utilizatorii noștri LDAP la server și apoi să folosim sudo pentru a reporni serviciile (pot scrie un script pe fiecare server pentru a reporni toate serviciile necesare). În acest moment, scriptul pur și simplu rulează o comandă de genul
ssh -t user@host „sudo service XXX restart”
Problema este că pentru fiecare server scriptul va cere parola utilizatorului de două ori (una pentru conexiunea ssh și două pentru comanda sudo). Prima mea presupunere a fost să solicit utilizatorului login și parola cu read -s -p și apoi să folosesc variabila pentru a se autentifica automat cu ssh. Aparent, Expect este modalitatea de a face acest lucru, dar nu am găsit o modalitate de a solicita în siguranță o parolă într-un script Expect sau de a o solicita într-un script bash și de a trece variabila în siguranță în scriptul de așteptare.
Am căutat soluții precum pssh, cluster ssh care pare să funcționeze, dar nu cu sudo. Înțeleg că cel mai bun mod de a face acest lucru este cu cheile ssh, dar deoarece mai mulți utilizatori trebuie să utilizeze scriptul, aș dori să folosesc login/parola LDAP.