La command écho "users" | ssh myserv ne renvoie rien … Pourquoi?

La command echo "hostname" | ssh myserv echo "hostname" | ssh myserv renvoie le nom d'hôte, mais echo "users" | ssh myserv echo "users" | ssh myserv ne renvoie rien?

Lorsque je ssh sur le server puis exécuter les users la command, il renvoie mon nom d'user (puisque je suis connecté: – ').

users ne montrent que les users connectés à un terminal (comme enregistré dans utmp ). echo users | ssh myserv echo users | ssh myserv ne crée pas de terminal (ce n'est pas une session interactive), de sorte que la session n'est pas répertoriée. Les ssh myserv users plus communs ssh myserv users manière similaire la command sans créer de terminal. D'autre part, les users de ssh -t myserv users (où -t obligent un terminal à être créé) devraient vous montrer.

Comparez également ssh -t myserv 'tty; who' ssh -t myserv 'tty; who' (vous montre que vous êtes connecté à ce tty) avec ssh myserv 'tty; who' ssh myserv 'tty; who' ( not a tty ).

Essayez-le de cette façon:

 ssh myserv users 

J'ai une erreur lorsque j'essaie de le faire. Certains programmes nécessitent un tty. Gardez également à l'esprit que, et les users sont un cas spécial, ils searchnt spécifiquement les sessions de connection.

 # echo users | ssh host stdin: is not a tty 

Voir:

man sshd_config

UseLogin Spécifie si la connection (1) est utilisée pour les sessions de connection interactives. La valeur par défaut est "non". Notez que la connection (1) n'est jamais utilisée pour l'exécution de commands à distance .

Utilisateurs

users – imprimez les noms d'users des users actuellement connectés