Ssh et busybox

bonjour,
Ce n’est pas spécifique a débian, mais je pense que le problème devrait vous intérésser.

Mon poste de developpement a une distribution Debian et je travaille sur une carte embarquée avec une distribution minimal contenant busybox.
busybox integre ash.

Une fois que la carte est démarrée si je saisie avec un emulateur de terminal par le port serie : /bin/ash j’obtient :
/bin/ash: can’t acces tty; job control turned off

Normal je supose que ash a été configuré pour exploiter tty qui est déjà monopolisé par une instance de ash qui à été lancé par le programme qui a consulté initab , non ? d’où le message d’erreur ?

A cette distribution j’ai fait une compilation croisée de openssh et ajouté quelques fonctionalitées reseaux.

Lorsque je me connecte en passant par ssh et l’interface ethernet , j’execute le binaire associé a mon utilisateur dans /etc/passwd.
Si je place un simple binaire , le programme est éxécuté la sortie standard est renvoyée par la liaison ethernet jusqu’a mon terminal.

Si j’associe ash a mon utilisateur, le programme est sans doute éxécuté mais ma session plante. ou du moins je ne recois et peu envoyer rien du tout ( peut etre que j’envoie mais que je ne recois pas d’echo de la part de ash)

Mes questions sont :
-Serait ce le fait que ash à été compilé pour utilisser tty ?
-Est il possible de lancer ash avec des options pour rediriger les entrés et les sorties standard par l’interface réseau ?
-Est il possible de recompiler busybox avec des options sur ash pour qu’il soit compatible avec les modes d’utilisations port series et ssh ?

En vous remerciant par avance !

bonsoir,
je sais pas, bin/ash n’as pas les droits d’accés à tty ?
y’en a plein des tty de libres …

effectivement je vais voir si je peu basculer sur un tty de disponible.
Ce liens m’a bcp aidé :
busybox.net/FAQ.html#job_control

Effectivement la commande tty me donne /dev/console
J’ai donc effectué les modifications indiqués dans le FAQ de busybox dans les sources du noyau.
je n’ai plus le message d’erreur ( bin/ash: can’t acces tty; job control turned off) mais mon problème n’est pas résolue

si je compile un printf simple et que je le spécifie dans /etc/passwd. Ce binaire sera executé lors de la connection ssh et le printf sera affiché et donc envoyé.
Par contre si ce binaire nécéssite d’utiliser l’entrée standart la session “bloque” toujours!

j’ai penser a rediriger l’entrée standart avec un /bin/test 0>&1 (ou un &1<0) dans passwd, mais apres ça ssh me demand systématiquement un mot de passe, comme si il pouvait plus parser le fichier passwd

j’ai cru comprendre que ssh utilisait des pseudo terminals, voici les seuls périphériques terminaux que j’ai dans /dev/
tty tty0 tty1 tty2 tty3 ttyAMA0 ttyAMA1

si je crait des périphériques pseudo terminal, comment ssh s’aura qu’il doit utiliser l’un d’entre eux ?

up :slightly_smiling: