Hur kan jag hålla lösenord osynliga när jag kör en kommando som ett SSH-argument?
Att hålla våra lösenord väl säkrade är något vi alla måste ta på allvar, men vad gör du om ett visst program eller en app visar ditt lösenord i vanlig syn när du skriver det? Dagens SuperUser Q & A-tjänst har lösningen på en frustrerad läsarens lösenordsproblem.
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsaren user110971 vill veta hur man håller lösenord osynliga när man kör ett kommando som ett SSH-argument:
Om jag kör det här kommandot och börjar skriva MySQL-lösenordet är lösenordet synligt på skärmen:
- ssh user @ server 'mysql -u användare -p'
Hur kan jag förhindra detta? Om jag loggar in via SSH och kör MySQL-kommandot, fungerar allt bra.
Hur kan du hålla lösenord osynliga när du kör ett kommando som ett SSH-argument?
Svaret
SuperUser-bidragare Toby Speight har svaret för oss:
Om du anger att ett fjärrkommando ska köras, tilldelar inte SSH a tty, så fjärrkommandot kan inte avaktivera eko. Du kan tvinga SSH att tillhandahålla en tty använda -t alternativ:
- ssh -t användare @ server 'mysql -u användare -p'
Det motsvarande alternativet (för -o eller för config-filen) är RequestTTY. Jag skulle vara försiktig mot att använda den i config-filen eftersom den kan ha oönskade effekter för icke-interaktiva kommandon.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.
Bildkrediter: Linux Skärmdumpar (Flickr)