2 votes

L'utilisation de pseudo tty avec ssh et control master donne lieu à un avertissement

Je suis en train de mettre en place ce qui suit pour certains de mes utilisateurs.

  • Machine A, exécutant OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips
  • Machine B, exécutant OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8, OpenSSL 1.0.1f
  • Les deux serveurs sont sous Linux, et j'administre le second.

Les utilisateurs ont des comptes sur les deux machines et ils ssh manuellement de B vers A, par exemple en tapant ssh A et faire le travail sur A. Leur ~/.ssh/config ressemble :

Host *
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%

Tout en exécutant d'autres choses sur B, ils exécutent également (indirectement) des commandes comme ssh -tt A xxx (où xxx est quelque chose de compliqué) parce que tout en faisant ce qu'ils font sur B, il doit trouver certaines choses qui doivent être trouvées de cette façon. Grâce au maître de contrôle, ils ne sont pas dérangés en permanence par des demandes de mot de passe (la machine A n'est pas sous mon contrôle et n'accepte pas les connexions par clé). Notez que xxx invoquer un code qui ne fonctionnerait pas si je n'utilisais pas -tt . Vous pouvez prétendre qu'un tel code est cassé et je pourrais être d'accord, mais forcer le tty le rend heureux.

Tout fonctionne très bien, mais la connexion manuelle qu'ils ont ouverte de B à A devient encombrée (et pratiquement inutilisable) de messages :

process_mux_new_session: tcgetattr: Inappropriate ioctl for device

Cela semblait lié à https://stackoverflow.com/questions/1495776/ y https://bugzilla.mindrot.org/show_bug.cgi?id=1686

Existe-t-il un moyen de faire taire ces messages pour que la première connexion soit utile sans qu'ils aient besoin d'en ouvrir une autre ?

1voto

Jaryl Points 1447

Élévation du commentaire de @MarkWagner au rang de réponse.

D'après le correctif dans le bug, vous devez ajouter -q à celui de ssh (je ne suis pas sûr duquel.) - 19 mai à 19:42

Sur la base de quelques tests rapides, il semble que la connexion manuelle ouverte de B à A soit celle qui a besoin de l'aide de la Commission européenne. -q

0voto

jmullee Points 163

Je chercherais MaxSessions sur le serveur-A

grep MaxSessions /etc/ssh/sshd_config

et sur les clients ~/.ssh/config ContrôlePersistance délais d'attente

Host *
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 10m

Vous pouvez également préférer ControlPath ~/tmp/ssh_mux_%h_%p_%r pour empêcher les utilisateurs d'écraser les fichiers des autres.

De plus, le chemin de contrôle utilise le nom d'hôte '%h' qui peut varier selon l'invocation.

Une autre solution potentielle pourrait être trouvée en modifiant les paramètres du terminal

ssh server_A TERM=tn3270 /opt/wierd/complex_command.cobol

Ou même l'exécuter sous écran https://www.youtube.com/watch?v=hB6Y72DK8mc https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X