Puncte:0

Reporniți serviciile pe mai multe servere la distanță în siguranță

drapel om
Ror

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.

drapel fo
Consultați [Cum pot face o solicitare de script așteptare pentru o parolă?](https://stackoverflow.com/questions/681928/how-can-i-make-an-expect-script-prompt-for-a-password)
Puncte:0
drapel om
Ror

După cum a sugerat Glenn în comentarii, modul corect de a face acest lucru a fost să folosești stty :

# luați parola
stty -echo
send_user -- "Parola pentru $user@$gazdă: "
expect_user -re „(.*)\n”
send_user „\n”
stty ecou
set pass $expect_out(1,string)

#... mai tarziu
trimite -- "$pass\r"

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.