Hvordan kan jeg holde adgangskoder usynlige, når jeg kører en kommando som et SSH-argument?
At holde vores adgangskoder godt sikret er noget, vi alle skal tage alvorligt, men hvad gør du, hvis et bestemt program eller en app viser dit kodeord i almindelig øjekast, mens du skriver det? Dagens SuperUser Q & A-indlæg har løsningen på en frustreret læsers adgangskode problem.
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Spørgsmålet
SuperUser-læseren user110971 ønsker at vide, hvordan man holder adgangskoder usynlige, når man kører en kommando som et SSH-argument:
Hvis jeg kører denne kommando og begynder at skrive MySQL-adgangskoden, er adgangskoden synlig på skærmen:
- ssh bruger @ server 'mysql -u bruger -p'
Hvordan kan jeg forhindre dette? Hvis jeg logger ind via SSH og udfører MySQL-kommandoen, fungerer det fint.
Hvordan kan du holde adgangskoder usynlige, når du kører en kommando som et SSH-argument?
Svaret
SuperUser bidragyder Toby Speight har svaret for os:
Hvis du giver en fjernkommando til at køre, tildeler SSH ikke en tty, så fjernkommandoen kan ikke deaktivere ekko. Du kan tvinge SSH til at give en tty bruger -t mulighed:
- ssh -t bruger @ server 'mysql -u bruger -p'
Den tilsvarende mulighed (for -o eller for config-filen) er RequestTTY. Jeg vil advare mod at bruge den i config-filen, fordi den kan have uønskede effekter for ikke-interaktive kommandoer.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.
Billedkredit: Linux Screenshots (Flickr)