Hjemmeside » hvordan » Hvordan kan jeg holde passord usynlig når jeg kjører en kommando som et SSH-argument?

    Hvordan kan jeg holde passord usynlig når jeg kjører en kommando som et SSH-argument?

    Å holde passordene godt sikret er noe vi alle trenger å ta på alvor, men hva gjør du hvis et bestemt program eller en app viser passordet ditt i vanlig øye mens du skriver det? Dagens SuperUser Q & A-innlegg har løsningen på et frustrert leserens passordproblem.

    Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

    Spørsmålet

    SuperUser leser user110971 ønsker å vite hvordan du holder passord usynlig når du kjører en kommando som et SSH-argument:

    Hvis jeg kjører denne kommandoen og begynner å skrive MySQL-passordet, er passordet synlig på skjermen:

    • ssh bruker @ server 'mysql -u bruker -p'

    Hvordan kan jeg forhindre dette? Hvis jeg logger inn via SSH og utfører MySQL-kommandoen, fungerer alt bra.

    Hvordan kan du holde passord usynlig når du kjører en kommando som et SSH-argument?

    Svaret

    SuperUser-bidragsyter Toby Speight har svaret for oss:

    Hvis du oppgir en ekstern kommando for å kjøre, tillater ikke SSH a tty, slik at fjernkommandoen ikke kan deaktivere ekko. Du kan tvinge SSH til å gi en tty bruker -t alternativ:

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

    Ekvivalent alternativ (for -o eller for config-filen) er RequestTTY. Jeg vil advare mot å bruke den i config-filen fordi den kan ha uønskede effekter for ikke-interaktive kommandoer.


    Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.

    Bilde Kreditt: Linux Skjermbilder (Flickr)