petit pb ssh

Le
François Patte
Bonjour,

J'ai un problème de config ssh et bash. J'ai trouvé (sur des pages de
config de bash) un moyen d'avoir un "prompt" coloré quand je me connecte
à une machine distante, ceci afin de différencier mes terminaux locaux
et distants.

J'ai ajouté dans le .bashrc de la machine distante les lignes suivantes:

if [ -n "$SSH_CLIENT" ]; then text=" ssh"
export PS1='[e[1;31m]u@h -d- ${text} W[e[m]$ '
fi

So far so good ça marche, mais

quand je fais un rsync

rsync -e ssh -auvz fp@krishna:./sanscrit/ .

j'obtiens la réponse suivante:

protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(171)
[receiver=3.0.6]

Y a-t-il moyen de corriger ce problème? Et comment?

Je ne connais pas grand'chose à bash (et en informatique en général!)

Merci.

--
François Patte
Université Paris Descartes
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #25195322
François Patte
, dans le message
quand je fais un rsync

rsync -e ssh -auvz :./sanscrit/ .

j'obtiens la réponse suivante:

protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(171)
[receiver=3.0.6]



Qu'est-ce que tu obtiens exactement si tu tapes ceci :

ssh true

 ?
Philippe Weill
Le #25195402
Le 03/02/2013 10:15, François Patte a écrit :
Bonjour,

J'ai un problème de config ssh et bash. J'ai trouvé (sur des pages de
config de bash) un moyen d'avoir un "prompt" coloré quand je me connecte
à une machine distante, ceci afin de différencier mes terminaux locaux
et distants.

J'ai ajouté dans le .bashrc de la machine distante les lignes suivantes:

if [ -n "$SSH_CLIENT" ]; then text=" ssh"
export PS1='[e[1;31m] -d- ${text} W[e[m]$ '
fi

So far so good... ça marche, mais...

quand je fais un rsync

rsync -e ssh -auvz :./sanscrit/ .

j'obtiens la réponse suivante:

protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(171)
[receiver=3.0.6]

Y a-t-il moyen de corriger ce problème? Et comment?



problem classique d'ecriture sur la sortie standard lors de shell non interactif


case $- in
# interactive shell
*i*) if [ -n "$SSH_CLIENT" ]; then text=" ssh"
export PS1='[e[1;31m] -d- ${text} W[e[m]$ '
fi;;
# non interactive shell
*) ;;
esac


Je ne connais pas grand'chose à bash (et en informatique en général!)

Merci.

Nicolas George
Le #25195392
Philippe Weill , dans le message
problem classique d'ecriture sur la sortie standard lors de shell non
interactif



Problème surtout d'un shell débile qui parse les mêmes fichiers de config
dans les deux cas.

Mais ça n'explique pas le problème, puisque la commande que François montre
n'est pas censée afficher quoi que ce soit.
Philippe Weill
Le #25195542
Le 03/02/2013 11:09, Nicolas George a écrit :
Philippe Weill , dans le message
problem classique d'ecriture sur la sortie standard lors de shell non
interactif



Problème surtout d'un shell débile qui parse les mêmes fichiers de config
dans les deux cas.




et il sont nombreux comme cela ok

Mais ça n'explique pas le problème, puisque la commande que François montre
n'est pas censée afficher quoi que ce soit.



effectivement

c'est le message de rsync qui m'a fait repondre cela
sans vraiement regarder la commande de prompt

il doit y avoir un echo ailleurs
François Patte
Le #25197832
Le 03/02/2013 11:34, Philippe Weill a écrit :
Le 03/02/2013 11:09, Nicolas George a écrit :
Philippe Weill , dans le message
problem classique d'ecriture sur la sortie standard lors de shell non
interactif



Problème surtout d'un shell débile qui parse les mêmes fichiers de config
dans les deux cas.




et il sont nombreux comme cela ok

Mais ça n'explique pas le problème, puisque la commande que François
montre
n'est pas censée afficher quoi que ce soit.



effectivement

c'est le message de rsync qui m'a fait repondre cela
sans vraiement regarder la commande de prompt

il doit y avoir un echo ailleurs



Ah! Mille excuses: j'ai installé le script bash, tel que je le cite, sur
plusieurs machines mais je l'ai modifié sur la machine qui me cause un
soucis avec rsync en ajoutant une ligne qui comporte un "echo", afin de
faire sauter une ligne avant d'afficher le "prompt"; le script qui me
cause du soucis est celui-ci:

if [ -n "$SSH_CLIENT" ]; then text=" ssh"
echo -e "n"
export PS1='[e[1;31m] -d- ${text} W[e[m]$ '
fi

Si je supprime la ligne: echo -e "n", rsync ne proteste plus...

Merci pour cet echo à mon problème...

Reste que je ne comprends pas ce qui se passe et pourquoi le message
d'erreur indique qu'il y a une distorsion entre les versions de rsync...
ce qui n'est pas.

Merci.

--
François Patte
Université Paris Descartes
Nicolas George
Le #25197922
François Patte
, dans le message
Reste que je ne comprends pas ce qui se passe et pourquoi le message
d'erreur indique qu'il y a une distorsion entre les versions de rsync...
ce qui n'est pas.



Ton echo affichait un retour à la ligne systématiquement quand le shell
était lancé, même si c'est juste pour exécuter rsync immédiatement, et le
rsync de l'autre bout ne s'attend pas à voir ce caractère retour à la ligne.
Publicité
Poster une réponse
Anonyme