GNU/Linux >> Linux Esercitazione >  >> Linux

Ssh:in che modo Ssh richiede una password quando tutto l'input e l'output vengono reindirizzati?

In realtà non ho bisogno di eseguire il comando seguente e sono a conoscenza delle chiavi ssh se volevo accedere senza digitare una password. Vorrei solo sapere come ssh sembra aggirare il reindirizzamento del mio file.

Eseguendo il comando seguente, ssh mi chiede una password:

ssh [email protected] > /dev/null 2> /dev/null < /dev/null

Come funziona? stdin , stdout e stderr vengono tutti reindirizzati, ma ssh riesce comunque a stampare un prompt sul mio schermo e leggere ciò che scrivo. Ho provato ad aggiungere ssh argomenti -t -t e -T (non entrambi contemporaneamente), per abilitare o disabilitare l'allocazione pseudo-tty, ma non faceva differenza.

Ho anche provato a chiudere tutti gli input e gli output in questo modo, anche se non so se l'ho digitato correttamente. Comunque, ssh richiede una password:

(exec 0<&- 1<&- 2<&- 0>&- 1>&- 2>&-; ssh [email protected])

Risposta accettata:

Da OpenSSH readpassphrase.c, riga 75:

    /*
     * Read and write to /dev/tty if available.  If not, read from
     * stdin and write to stderr unless a tty is required.
     */

Il programma legge e scrive direttamente il TTY, quindi non è possibile disabilitare l'input diretto semplicemente chiudendo i tubi di input e output standard. Devi dire al client SSH di utilizzare una password fornita o fare come suggerito da @muru.


Linux
  1. Come installare e utilizzare Hashcat per il recupero della password su Linux:[Cyber ​​Forensics]

  2. Come consentire SFTP e non consentire SSH?

  3. Come funzionano l'input da tastiera e l'output di testo?

  4. Output di quale comando utilizzato per l'input su Cd?

  5. Perché l'opzione Ssh -t aggiunge Cr e Lf nell'output reindirizzato?

Come passare la password al comando SSH in Linux

Come eseguire SSH e SCP senza password da SSH2 a OpenSSH

Come posso richiedere l'input Sì/No/Annulla in uno script della shell di Linux?

Come fare in modo che git non chieda la password al pull?

Come interpretare e correggere un errore di input/output in Linux?

Perché clang genera testo incomprensibile quando viene reindirizzato?