Zssh : un air de SCP dans SSH

Actuellement lorsque vous naviguez en SSH sur une machine distante et que vous voulez transferer des fichiers avec votre ordinateur, la solution la plus simple consiste a ouvrir un autre shell, et utiliser la commande scp. Cette tâche peut se révèler pénible dans la mesure où devez bien souvent utiliser votre souris pour copier l'emplacement source/destination dans le shell SSH pour l'indiquer dans la commande scp, puis vous re-authentifier.

Pourtant depuis 11 ans il existe une solution qui permet d'effectuer les transferts de fichiers directement depuis une session SSH.

Zssh

S'appuyant sur l'oublié protocole Zmodem, zssh est un petit wrapper qui vient s'interfacer avec ssh. Ainsi pour chaque nouvelle session SSH ouverte, zssh créé un deuxième tty/pty qui servira à transférer des fichiers.
Pendant la navigation avec SSH, un petit raccourci clavier va nous permettre de basculer sur un shell situé sur votre machine locale, qui va nous permettre de transférer des données.

Où le trouver?

Comme le projet a été débuté en 2000, il va sans dire que zssh est présent dans la grande majorité des distributions Linux. Au besoin, les sources peuvent être retrouvées par ici.

Du côté machine distante, il va falloir installer un outil qui va comprendre le protocole zmodem et qui nous permettra de manipuler nos fichiers. Cet outil est lui aussi ancien et se nomme lrzsz. Au besoin, ses sources peuvent être trouvée par là.

Donc, pour la machine locale, il nous faut :
zssh
Et sur la machine distante :
lrzsz OU zssh

Comment utiliser zssh?

Envoyer des fichiers : du poste local au poste distant

Connectez-vous au poste client :
zssh login@hôte.distant
De là, basculez sur le terminal zssh, qui s'avère vous positionner sur votre machine :
CRTL+espace
Maintenant, envoyez votre fichier :
sz fichier
Et le fichier arrivera dans le répertoire distant d'où vous avez basculé zssh.

Recevoir des fichiers : du poste distant au poste local

Supposons que vous êtes maintenant sur l'hôte distant, connecté avec zssh. Pour envoyer un fichier, tapez la commande suivante dans le prompt :
sz fichier
Basculez sur le terminal zssh :
CRTL+espace
Puis, positionnez-vous dans le dossier de destination, puis téléchargez le fichier :
rz

Le mot de la fin

Zssh est une petite application utile qui peut rendre bien des services. de par sa conception en wrapper, tous les arguments de "ssh" sont utilisables. Non seulement il est simple d'utilisation, mais il permet de faciliter la traversé de plusieurs serveurs SSH intermédiaires.

Toutefois, sachez que si il peut transférer des fichiers, il n'est pas capable de manipuler des répertoires (tar est votre ami ;-) )

Liens utiles

Vus : 2198
Publié par PPmarcel : 21