Update Avril 2021 : benchmark pour Linux
J’ai effectué un benchmark plus court, mais avec les mêmes objectifs, pour les clients SSH sous Linux (en l’occurrence Pop!_OS, basé sur la distribution Ubuntu). Consulter le benchmark Terminal / EasySSH / Terminator / Tilix (en anglais).
Synthèse
Les essais ont été réalisés en mars 2021.
En les réalisation je me suis rendu compte que mon objectif n’était pas seulement de trouver une alternative à PuTTY, mais de trouver un gestionnaire SSH avec un workflow avancé :
- Avoir une vue d’ensemble (grille) et pas 15 fenêtres à chercher dans alt-tab ;
- Effectuer des tâches répétitives plus rapidement ;
- Et si possible, un design moderne et qui supporte bien les bureaux virtuels de Windows 10.
- Pour les petites tâches : ouverture de connexions des dizaines de fois par jour, parfois les mêmes plusieurs fois jusqu’à s’y perdre, reprise des connexions qui timeout pour cause de changement de réseau ou inactivité très longue (week-end…). Parfois pour des tâches très rapides (1 ou 2 commandes), parfois pour des heures de surveillance sans rien taper ;
- Pour les tâches longues (travail en mode projet) la mise en place est généralement :
- 2 ou 3 fichiers de conf qui restent ouverts ;
- Au moins 2 logs qui
tail -f
en permanence ; - Au moins 1 fenêtre qui sert à relancer les services dont les fichiers de conf sont édités ;
- 1 ou 2 fichiers sources de l’application en question ;
- Éventuellement un
htop
dans un coin ; - Sporadiquement une autre fenêtre vers un autre projet pour aller chercher des modèles/idées.
Tous ces clients marchent sous Windows, certains sont multi plateformes.
Clients | Avantages | Inconvénients |
---|---|---|
Solar-PuTTY ? |
– Gratuit – Pas d’installeur – Rapide – Émulateur basé sur PuTTY |
– Interface pauvre – Défauts ergonomiques – Peu d’options |
Terminus ? |
– Gratuit – Joli et thémable – Beaucoup d’options bien pensées – Mises à jour régulières – Communauté GitHub active |
– Manque de maturité de certaines fonctionnalités – Ergonomie parfois déroutante (split, intégration WinSCP) – Beaucoup trop lent et lourd ! |
SecureCRT ❤️ |
– Truffé de détails qui justifient son prix – Ergonomie familière aux développeurs – Personnalisable à outrance |
– Interface un peu vieillotte – Vu le prix on ne l’achète pas sur un coup de tête, on compare tout… c’est d’ailleurs ce que je suis en train de faire 🙂 |
SmarTTY ? |
– Gratuit – Rapide, efficace, opérationnel tout de suite – Autocompletion et SCP très bien intégré : des gadgets pratiques |
– Pas de split view/grille ! – Intérêt de l’éditeur textuel limité – Pas de macros |
SuperPuTTY ❤️ |
– Gratuit – Window management parfait (split view et sauvegarde des layouts) – Léger (embed PuTTY) |
– Interface un peu vieillotte – Pas d’intégration – Pas de macros |
MTPuTTY | – Idem SuperPuTTY | – Pas de sauvegarde des layouts |
Xshell 7 ❤️? |
– Les fonctions de SecureCRT + la grille de SuperPuTTY dans une interface contemporaine | – Il a fallu que j’en teste 8 avant pendant 3 semaines avant de tomber sur celui-là |
Autres clients (hors scope) | ||
KiTTY ? |
Apporte ce qu’il manque à PuTTY | Réservé aux puristes |
Termius ? |
C’est beau | C’est cher pour ce que c’est |
Non testés : MobaXterm, mRemoteNG, Royal TS, Cmder / ConEmu |
Solar-PuTTY
Premier truc chiant : il faut rentrer son mail pour le télécharger.
J’aurais dû m’arrêter là.
Second truc chiant : il y a une bannière de pub sur l’écran d’accueil.
Alors certes c’est une pub maison pour les produits du même éditeur, qui en plus, est bien gentil de fournir Solar-PuTTY gratuitement contre un mail. Mais quand même.
De plus le bas de la fenêtre est obstrué par le logo et le copyright affichés en permanence.
L’interface est assez pauvre.
Pas de volet avec des raccourcis de connexions ou de commandes, les onglets ne sont pas facilement déplaçables, je n’ai pas trouvé d’instant (c-à-d sans lire la doc et avec les raccourcis habituels) comment splitter une fenêtre horizontalement/verticalement.
En plus, j’ai bien reçu le mail de download en anglais, mais curieusement leur première newsletter 7 jours plus tard est arrivée en italien.
Un bon point : Solar-PuTTY se lance vite et, bien que 10 fois plus gourmand que le PuTTY original, n’est pas très consommateur de ressources.
Certains apprécieront aussi le fait qu’il n’y a pas d’installeur, c’est un simple .exe que vous pouvez placer n’importe où.
Personnellement je n’ai pas aimé Solar-Putty.
Mais c’est gratuit !
https://www.solarwinds.com/fr/free-tools/solar-putty
Terminus
Je ne fais pas de présentation générale car ce client a le vent en poupe.
En résumé : il est open-source, esthétique, et a une grosse communauté.
Passons au fonctionnel.
Les splits sont très faciles, similaires à Sublime Text / VS Code : clic droit, split up / down / left / right, et c’est instantané, qui plus est avec un joli effet de « slide ».
Options
Il y a pléthore d’options. Ce n’est pas toujours bien rangé. J’appelle ça le syndrome VSCode.
Déceptions
La perfection n’étant pas de ce monde, voici mes principaux griefs à l’encontre de Terminus.
Je citerai aussi : des plugins pas clairs (title-control) / en doublon (elastic-quick-commands vs elastic-quick-cmds), des problèmes d’émulation lors du resize dans certains shells (peut-être dûs aux shells eux-mêmes ?), gestion des groupes de connexions et commandes peu évidente.
J’aime bien Terminus, mais je n’en fais pas mon client favori à cause de sa lourdeur et lenteur au démarrage.
20 fois SuperPuTTY, 170 fois PuTTY, c’est trop.
Le window management est presque parfait, il faudrait fouiller du côté des thèmes pour voir si on peut améliorer le rendu des gouttières et créer un plugin ou un fork pour enregistrer les différents layouts.
Gratuit et open source
https://eugeny.github.io/terminus/
https://github.com/Eugeny/terminus
VanDyke SecureCRT
Il s’agit d’un client propriétaire dont je n’avais jamais entendu parler, que j’ai trouvé via Reddit.
Et comme on dit chez Ikea, pour moi SecureCRT c’est une…
Il est proposé comme une petite suite, avec SecureCRT pour gérer les connexions remote, et SecureFX (facultatif) pour les transferts de fichiers (là où d’autres proposent une intégration avec WinSCP par exemple). D’autres protocoles que SSH sont supportés notamment Rlogin et RDP :
Tarif
Je sais d’avance que beaucoup vont faire les crevards et partir du principe que si c’est pas gratuit, ils n’en veulent pas. Je ne suis pas d’accord avec ça.
Pour un logiciel professionnel que j’utilise des dizaines de fois tous les jours, dont j’ai plusieurs fenêtres ouvertes en permanence sur tous mes bureaux virtuels, et qui me fait gagner beaucoup par rapport à PuTTY, le tarif est certes élevé mais pas délirant :
Je n’ai pas vraiment compris pourquoi VanDyke consacre des ressources à SecureFX.
C’est un client SCP / SFTP, son seul avantage concret c’est de partager les connexions enregistrées dans SFX mais est-ce que ça justifie de réinventer la roue ? WinSCP est le standard de facto et SFX, même s’il fonctionne bien, n’apporte rien de nouveau. Ils pourraient consacrer les ressources à l’amélioration de SCRT.
Travailler avec SecureCRT
Tout d’abord, bien qu’un peu classique voire datée, l’interface est claire, sobre, fonctionnelle, on sent tout de suite à l’aise. Le choix des icones est pertinent. Le volet de navigation est très pratique.
Le split et la réorganisation sont faciles : il suffit de drag’n’drop l’onglet désiré vers la colonne de son choix. Par contre je n’ai pas réussi à combiner de split horizontal et vertical.
Concernant un mode grid / split vertical + horizontal, la demande a été ajoutée au backlog en 2019 mais pas de nouvelles depuis (voir https://forums.vandyke.com/showthread.php?t=13353). Dommage car si cette fonctionnalité avait existé, j’aurais craqué !
Pour un split horizontal sans grille, se référer à ce tuto officiel :
Par contre, on peut voir que des astuces ergonomiques sont en place, par exemple :
- Le picto de l’onglet change en fonction de l’activité dans le terminal (check, danger, interdit)
- Le scroll des onglets au lieu de leur rétrécissement jusqu’à ce que les titres deviennent illisibles
- La barre de statut avec les lignes/colonnes, le type d’émulation, et comme dans Excel les indicateurs NumLock et CapsLock
SecureCRT est un client très light :
Configuration
Les configurations globales sont très riches, et restent claires.
La fenêtre reprend l’ergonomie de PuTTY.
Une killer feature (pourtant simple, évidente) pour moi : pouvoir désigner une clé à charger par défaut dans l’agent SSH, pour se passer de Pageant et son « Add SSH Key » que j’oublie systématiquement à chaque reboot !
Dans le même genre, le gestionnaire des clés distantes, très pratique pour intervenir lors d’un changement ou simplement faire des vérifications pour se prémunir contre les attaques man-in-the-middle :
On a la possibilité de redémarrer les précédentes connexions au démarrage de l’application (comme dans Terminus), sans reprise de l’historique cependant. On peut aussi lancer un set de connexions par défaut :
Les options de session sont classiques et les habitués de PuTTY s’y retrouvent vite.
Une idée très maline, qui vient à nouveau combler un des défauts majeurs de PuTTY, est la possibilité d’éditer les options globalement. SecureCRT propose alors de les appliquer à toutes les connexions !
Les détails qui justifient le prix
J’apprécie le soin apporté aux détails :
Le volet de commandes personnalisées
La fonction Find peut être mappée sur Ctrl+F (bizarrement ça n’est pas le cas par défaut), et VanDyke a pensé à mettre le sens « up » par défaut (petit détail, grand gain de temps). Le terme recherché est highlighté et l’historique va scroller automatiquement.
J’adore SecureCRT ! Je m’étonne de le découvrir seulement maintenant alors que ça fait + de 20 ans que j’utilise des clients SSH. À part l’interface qui devient vieillotte à l’heure de ModernUI, et l’absence de split horizontal (mode grille). C’était à l’étude en 2019, ça n’a pas avancé depuis.
D’autant plus dommage que SuperPuTTY le fait, en utilisant le même composant système UI employé par SecureCRT pour gérer le positionnement des palettes.
Si ce logiciel coûtait 50 balles je l’aurais acheté tout de suite et arrêté mes recherches.
Du coup j’ai continué à cherché et j’ai découvert Xshell 7, en résumé une version modernisée de SCRT.
Commercial, 139 $
https://www.vandyke.com/products/securecrt/
SmarTTY
Un client SSH qui sera votre ami si vous avez souvent les mains dans les fichiers de conf.
En effet, SmarTTY supporte l’édition de fichiers dans son propre éditeur intégré, dispose d’un navigateur d’arborescence intégré basé sur SCP, et d’une barre latérale comme dans un petit IDE.
Les fichiers s’ouvrent dans des onglets, la sauvegarde se fait au ctrl+S avec un indicateur de fichier non sauvegardé.
C’est vraiment une bonne idée surtout quand on a des dizaines de fichiers de conf ouverts, des arborescences pas toujours homogènes, ou pour faire intervenir un débutant.
Gadgets
Première fois que je vois ça : l’autocompletion marche sur les commandes…
… et bien entendu sur les chemins :
SmarTTY dispose d’un gestionnaire de paquets (il supporte APT et YUM).
Le transfert de fichiers utilise SCP intégré et peut générer un tar à la volée pour accélérer les transferts.
Options
Sans être très fourni, le panneau d’option va à l’essentiel et on trouve, en fait, uniquement ce dont on a vraiment besoin. Combien de fois j’ai cherché les raccourcis pour copier/coller, ou la définition d’un emplacement par défaut !
On ne s’embarrasse pas des écrans fouillis de PuTTY au niveau des options de connexion :
Espaces de travail
Chaque groupe peut comporter plusieurs onglets, et avoir ses options d’affichage indépendantes.
Malheureusement, et c’est pour moi un frein majeur : pas de split view ni de mode grille !
J’ai l’habitude d’avoir 4, 6, 8 terminaux visibles en même temps (je suis extrême comme gars…) et je ne me vois pas réorganiser toutes ces fenêtres manuellement en permanence ! De nos jours un écran 2K c’est le minimum, 4K le standard, et les 5K et supérieurs se démocratisent.
J’apprécie la gestion des espaces de travail, mais sans split point de salut !
Perfs
Enfin, SmarTTY a le bon goût d’être assez light en ressources, bien qu’il double SecureCRT qui est cent fois plus turbochargé en options ! SmarTTY démarre super vite et ouvre les connexions plus vite que son ombre.
J’ai UN regret, majeur : l’absence de split/grille !
À ce titre, SmarTTY pourrait effectivement remplacer PuTTY, mais pas plus. Pas de MàJ depuis 2017.
Quel dommage !
Gratuit
https://sysprogs.com/SmarTTY/
SuperPuTTY
Il s’agit d’un wrapper pour PuTTY qui permet de sauvegarder des layouts.
Pas grand chose de plus.
Il y a un système de scripting très très alpha depuis 2015.
Config
Layouts
Bonus
SuperPuTTY fait super bien le job !
La killer feature que je cherchais est présente (layouts), et en tant que « simple » wrapper de putty.exe je suis sûr que le comportement du terminal sera irréprochable. Ce window management qui fait cruellement défaut à SecureCRT.
SuperPuTTY n’est pas le plus beau, il n’a pas de snippets, pas de SCP graphique, pas de préférences globales, pas de thème, pas de plugins, en fait il n’a pas grand chose mais ce qu’il a, il le fait très bien.
Et pour le prix, c’est imbattable : gratuit !
https://github.com/jimradford/superputty
MTPuTTY (multi-tabbed PuTTY)
Ce test sera court. En fait, c’est la même chose que SuperPuTTY, sans la possibilité de sauvegarder les layouts.
Ici j’ai utilisé KiTTY au lieu de PuTTY mais ça ne change rien au fonctionnement de MTpuTTY :
Les options sont limitées :
Mais surtout il manque le moyen de sauver un Layout :
MTPuTTY est gratuit.
https://ttyplus.com/multi-tabbed-putty/
Xshell 7 (mon coup de cœur)
Celui-là, c’est du costaud.
Il fait tout, encore plus, et en français.
La liste des fonctionnalités est kilométrique : https://www.netsarang.com/en/xshell-all-features/
Config
Exemple, envoyer ceci après avoir reçu « #
» :
w ; printf "\n\n"; df -h ; printf "\n\nDossier courant : "; pwd ; printf "\n\n"; /bin/bash
D’autres options plus générales :
UI
Le split / grid est le plus simple que j’ai jamais vu : il suffit de dragger une session pour faire apparaître les zones droppables :
On peut utiliser le magnétisme des zones pour constituer une grille, ou resizer selon ses besoins :
Les dispositions peuvent être enregistrées (équivalent des Layouts de SuperPuTTY) :
Snippets
On peut créer autant de groupes de commandes personnalisées que l’on veut et les affecter aux sessions que l’on veut. Cela permet donc de créer des snippets par projet ou par OS ou par client, etc.
Extras
Transfert de fichier par SCP dans les 2 sens. L’interface est minimaliste mais elle a le mérite d’exister. Je pense qu’il s’agit de ne pas trop faire concurrence à XFTP du même éditeur.
Un ensemble de surbrillances (highlights) par défaut est présent, on peut créer différents sets et les affecter aux connexions que l’on veut. Je préfère m’en tenir à un réglage global pour l’instant.
Gadget pratique pour éviter les copier/coller : raccourci vers la recherche du texte sélectionner par menu contextuel. Les moteurs de recherche sont personnalisables (on peut donc envoyer vers DuckDuckGo, StackOverflow, GitHub, une ressource interne privée).
Dans le même esprit, on peut envoyer tout ce qu’on veut vers un éditeur externe : l’intégralité de STDOUT, juste ce qui est affiché, juste ce qui est sélectionné.
Perfs
Bonne nouvelle, Xshell est léger et se lance en moins de 2 secondes.
Conclusion : il y a tout ce dont j’ai besoin pour optimiser mon travail et moderniser l’expérience SSH.
Je n’ai qu’une journée de recul sur XShell alors que j’ai passé 2 semaines sur SecureCRT, mais j’ai déjà envie de désinstaller ce dernier et me consacrer à Xshell. C’est la version modernisée de SCRT. Il faut dire que X7 est sorti il y a 5 mois (novembre 2020), et il a été mis à jour… la semaine dernière (17 mars 2021) !
https://www.netsarang.com/en/xshell-update-history/
En tant que nouvelle version majeure je présume que des optimisations et des ajouts vont être ajoutés.
D’autres ressources dispo (tutos, FAQ, extras) : https://netsarang.atlassian.net/wiki/spaces/ENSUP/pages/23560565/Xshell
Xshell 7 devient officiellement mon nouveau gestionnaire SSH !
Voilà 100 $ / an (pour 2 postes) qui seront vite amortis.
https://www.netsarang.com/en/xshell/
Autres clients à considérer
Certains clients ne m’ont tout simplement pas donné envie, ou n’ont pas fonctionné lors de leur installation.
KiTTY
C’est un fork du vrai PuTTY, qui vise essentiellement à ajouter des fonctions et réglages manquants.
C’est pétrit de bonnes attentions mais ça reste assez geek, par exemple il faut se plonger dans regedit pour modifier les commandes personnalisables :
Il s’agit sans nul doute du client le plus proche du PuTTY originel, et pour cause.
Il ravira les puristes.
Gratuit
http://www.9bis.net/kitty/
Termius
En voilà un qu’il ne faut pas confondre avec Terminus.
Ce n’est clairement pas la même philosophie.
Termius est un manager SSH dont la licence dépend d’un abonnement mensuel.
Si j’étais mauvaise langue je dirais qu’ils ont choisi ce blaze pour profiter du SEO de Terminus.
Parce qu’en fait c’est comme ça que je les ai trouvés :
Mais c’est facile d’accuser gratuitement, il faut des preuves.
Je ravale mes suspicions et entame donc l’essai.
Il faut créer un compte pour utiliser la trial version.
Config
Le grand principe de Termius est de synchroniser tout dans le cloud et proposer un client iOS et Android, pour permettre un accès unifié à ses remotes SSH. N’ayant aucune envie d’envoyer mes clés et mots de passe vers l’inconnu et au-delà, je m’abstiens.
Esthétique et moderne, Termius propose un import. Je choisis PuTTY.
Il m’envoie en fait vers une page d’aide avec des commandes PowerShell à copier/coller. Ça ne marche pas.
On passe en configuration manuelle.
UI
L’interface est fluide et jolie, animée, moderne.
Il n’y a pas beaucoup de réglages, rien qui mérite un screenshot.
Par contre, un client SFTP est inclus.
Et là on se demande tous… OK, mais la split view ?
Y’a pas.
Une seule fenêtre à la fois, avec les faux « onglets » sur la gauche, et c’est tout.
Donc, je m’arrête là.
Perfs
Voyons la charge avec 2 fenêtres d’une même connexion :
Conclusion : beaucoup d’eye-candy pour pas grand chose d’utile finalement.
Aucune envoie de balancer mes credentials dans le cloud.
À moins d’avoir vraiment besoin d’un gestionnaire multi plateformes, je ne vois pas l’intérêt.
Surtout à 100 $ / an !
https://termius.com/
MobaXterm
Pas mal sur le papier, mais n’a jamais voulu fonctionner chez moi.
https://mobaxterm.mobatek.net/
mRemoteNG
Il était sur la todo list avant que je découvre Xshell. À tester par curiosité.
https://mremoteng.org/
Royal TS
Testé quelques minutes, mais je n’ai pas accroché. Pourtant prometteur et moderne.
https://www.royalapps.com/ts/win/features
Cmder / ConEmu
Je le qualifierais plus de remplaçant pour Cmd / PowerShell que pour PuTTY, mais il est très pratique en tout cas. Inclus dans l’excellent Laragon (le MAMP/WAMP/EasyPHP des temps modernes).
Cmder est à la CLI ce que Notepad est au fourre-tout.
https://cmder.net/
Update Avril 2021 : benchmark pour Linux
J’ai effectué un benchmark plus court, mais avec les mêmes objectifs, pour les clients SSH sous Linux (en l’occurrence Pop!_OS, basé sur la distribution Ubuntu). Consulter le benchmark Terminal / EasySSH / Terminator / Tilix (en anglais).
Merci beaucoup pour ce comparatif très intéressant!
Avec plaisir, mais il est peut etre un peu daté maintenant, il faudrait vérifier si de nouvelles versions sont sorties.
Merci pour ce post très enrichissant, je pensai voir Tera Term dans la liste également.
Je reste sur PuTTY, mais je note les autres qui peuvent être fort utiles dans certains contextes.
Avec plaisir, depuis les choses ont un peu changé. J’ai finalement opté pour MobaXterm (https://mobaxterm.mobatek.net/) que j’ai pris en version Pro mais la version gratuite permet déjà de faire beaucoup de choses. Mes fonctions préférées :
Seul soucis le split view n’est pas terrible (possible mais beaucoup moins fluide qu’avec un Termius par exemple), Néanmoins c’est mon favori maintenant.
Et par honnêteté je dois dire que Windows Terminal est pas mal non plus (finalement). Je prévois de faire un post à ce sujet, avec aussi des astuces pour éditer le fichier ~/.ssh/config
Néanmoins c’est juste un terminal.
Merci pour le retour, de mon côté pour mes besoins d’administration j’ai opté pour le couple: mRemoteNG et WinSCP.
Tout deux sont vraiment complémentaires: Terminal Console et transfert de fichiers. Je me suis permis de citer votre Benchmarck en référence sur mon blog car je le trouve vraiment très complet pour ceux qui veulent plus d’options et fonctionnalités: https://www.leolabo.fr/putty-et-scp-deux-outils-a-connaitre-pour-ladministration-a-distance/
A suivre pour de nouveaux tests.
Merci !
J’ai réinstallé mon ordi depuis quelques semaines et je me passe de MobaXterm, finalement Windows Terminal + le terminal intégré de VScode font bien le job. Il manque quand même des fonctionnalités que j’adorais dans Moba : le highlight automatique de mots-clés, le SFTP intégré sans ouvrir WinSCP, les sous-dossiers de raccourcis, l’éditeur interne ou externe. Mais en contrepartie le minimalisme de WT est appréciable, avec un fichier .ss/config bien configuré c’est efficace.