GNU/Linux >> Tutoriels Linux >  >> Linux

Ssh – Comment Ssh demande-t-il un mot de passe lorsque toutes les entrées et sorties sont redirigées ?

Je n'ai pas réellement besoin d'exécuter la commande ci-dessous, et je connais les clés ssh si je voulais me connecter sans taper de mot de passe. Je voudrais juste savoir comment ssh semble contourner ma redirection de fichiers.

Exécuter la commande suivante, ssh me demande un mot de passe :

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

Comment cela marche-t-il? stdin , stdout , et stderr sont tous redirigés, mais ssh parvient toujours à imprimer une invite sur mon écran et à lire ce que je tape. J'ai essayé d'ajouter le ssh arguments -t -t et -T (pas les deux à la fois), pour activer ou désactiver l'allocation de pseudo-tty, mais cela n'a fait aucune différence.

J'ai également essayé de fermer toutes les entrées et sorties de cette façon, même si je ne sais pas si je l'ai tapé correctement. Pourtant, ssh demande un mot de passe :

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

Réponse acceptée :

Depuis OpenSSH readpassphrase.c, ligne 75 :

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

Le programme lit et écrit directement le TTY, il n'est donc pas possible de désactiver l'entrée directe en fermant simplement les canaux d'entrée et de sortie standard. Vous devez dire au client SSH d'utiliser un mot de passe fourni ou faire comme suggéré par @muru.


Linux
  1. Comment installer et utiliser Hashcat pour la récupération de mot de passe sur Linux :[Cyber ​​Forensics]

  2. Comment autoriser SFTP et interdire SSH ?

  3. Comment fonctionnent la saisie au clavier et la sortie de texte ?

  4. « nohup Sudo… » ne demande pas de mot de passe et ne fait rien ?

  5. Pourquoi l'option Ssh -t ajoute-t-elle Cr &Lf dans la sortie redirigée ?

Comment transmettre un mot de passe à la commande SSH sous Linux

Ssh - Comment exécuter Ssh-add automatiquement, sans invite de mot de passe ?

Ssh – Comment Tcp-keepalive fonctionne-t-il dans Ssh ?

Comment exécuter SSH et SCP en mode batch (uniquement lorsque la connexion sans mot de passe est activée)

Comment puis-je demander une entrée Oui/Non/Annuler dans un script shell Linux ?

Comment entrer le mot de passe dans la commande git pull ?