If-Koubou

Cum pot păstra parolele invizibile când rulează o comandă ca argument SSH?

Cum pot păstra parolele invizibile când rulează o comandă ca argument SSH? (Cum să)

Păstrarea parolelor bine securizate este un lucru pe care trebuie să-l luăm cu toții în serios, dar ce faceți dacă un anumit program sau aplicație vă afișează parola la fața locului pe măsură ce o tastați? Postul de astăzi SuperUser Q & A are soluția la o problemă de parolă a cititorului frustrat.

Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor Q & A.

Intrebarea

Cititorul de utilizatori SuperUser110971 dorește să știe cum să păstreze parolele invizibile când executați o comandă ca argument SSH:

Dacă execut această comandă și încep să introduc parola MySQL, parola este vizibilă pe ecran:

  • ssh utilizator @ server 'mysql -u user -p'

Cum pot preveni acest lucru? Dacă mă conectez prin SSH și execut comanda MySQL, atunci totul funcționează bine.

Cum puteți păstra parolele invizibile când executați o comandă ca argument SSH?

Răspunsul

Contribuitorul la Super Utilities Toby Speight are răspunsul pentru noi:

Dacă furnizați o comandă la distanță pentru a rula, SSH nu alocă a tty, astfel încât comanda de la distanță nu poate dezactiva ecou. Puteți forța SSH să ofere a tty folosind -t opțiune:

  • ssh -t utilizator @ server 'mysql -u utilizator -p'

Opțiunea echivalentă (pentru o- sau pentru fișierul de configurare) este RequestTTY. Aș fi avertizat să nu-l folosiți în fișierul config, deoarece poate avea efecte nedorite pentru comenzi non-interactive.

Aveți ceva de adăugat la explicație? Sunați în comentarii. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.

Image Credit: Imagini de ecran Linux (Flickr)