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 :zsshEt 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.distantDe là, basculez sur le terminal zssh, qui s'avère vous positionner sur votre machine :
CRTL+espaceMaintenant, envoyez votre fichier :
sz fichierEt 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 fichierBasculez sur le terminal zssh :
CRTL+espacePuis, 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 ;-) )