Étienne Mollier a écrit :
> On 02/12/2018 04:01 PM, BERTRAND Joël wrote:
>>      J'arrive à me connecter à n'importe quelle machine en ssh
>> sans aucun problème. Mais il m'est impossible d'effectuer en
>> sftp.
> 
> Bonsoir,
> 
> Au risque de passer à côté du sujet, j'ai rencontré un problème
> similaire.  Si j'édite le fichier de ressource de mon shell pour
> lui faire afficher quelque chose, alors ça me plante sftp, mais
> pas ssh :
> 
>       $ head -n2 ~/.bashrc
>       #!/bin/bash
>       echo plante
> 
>       $ ssh localhost
>       plante
>       $ echo 'Dans une session ssh...  :)'
>       Dans une session ssh...  :)
> 
>       $ sftp localhost
>       Received message too long 1886151022
>       $ echo 'Pas dans une session sftp...  :('
>       Pas dans une session sftp...  :(
> 
> « Il suffit » d'enlever tout ce qui pourrait écrire dans stdout
> pour corriger le problème.  Si j'efface mon « echo plante »,
> alors le problème est corrigé :
> 
>       $ head -n2 ~/.bashrc
>       #!/bin/bash
>       
> 
>       $ sftp localhost
>       Connected to localhost.
>       sftp>
> 
> Sauf que, et à moins que j'ai loupé quelque chose, votre script
> ne devrait pas engendrer de message dans stdout.

        Effectivement, le script en question ne renvoie rien sur stdout (ni sur
stderr du reste).

> Est-ce que le
> problème se présentait si vous aviez l'un des bash codé en dur
> dans votre entrée NIS, en vous loguant en sftp sur le système
> correspondant ?

        Si je mets l'un des bash en dur, ça fonctionne sur le poste en question
(mais pas sur les autres...).

        La question que je me suis posé est de savoir si /etc/shells doit
contenir mon script ou non. Visiblement non puisque l'exécutable réel
est le vrai shell.

        Bien cordialement,

        JKB

Répondre à