PuTTY pour win32 stockage de la configuration dans le fichier

By Cluboid August 15th 2017 - page originale ici



Information


Récemment, plusieurs Antivirus SW ont des fichiers binaires signalés sur ce site en tant que logiciels malveillants. C'est faux positif. Je compile les fichiers binaires moi-même - commencez par télécharger le code source de PuTTY Web, écrasez la session en stockant le code et compilez-le à l'aide de Visual Studio. Le PC utilisé est propre.


Raison peut-être des règles plus strictes et heuristique de AV en raison de http://www.securityweek.com/attackers-use-trojanized-version-putty-steal-ssh-credentials . J'ai compilé le même code de plink.exe dans le mode Release and Debug - Les résultats AV sont très différents en raison d'un match heuristique vague de la version Release .


J'ai donc décidé de fournir des binaires compilés en mode débogage - j'espère que cela ira bien pour votre AV éventuellement trop prudent. Le mode de débogage provoque une grande taille exécutable - c'est ok de nos jours - pour expliquer la différence avec le mastic d'origine.


Je comprends parfaitement si vous ne me faites pas confiance, n'hésitez pas à compiler les fichiers binaires vous-même.



PuTTY est un excellent client telnet / ssh gratuit pour Win32 et les plates-formes Unix. C'est juste un "exe", pas d'installation, aucune DLL supplémentaire n'est requise. Ainsi, il peut être exécuté à partir de disquette, disque flash USB, etc.


Mais il stocke toute la configuration dans le registre ([HKEY_CURRENT_USER \ Software \ SimonTatham \ PuTTY]) - vous ne pouvez pas le stocker ou le charger à partir du fichier sur la disquette ou d'autres périphériques amovibles. Il existe une solution de contournement avec les fichiers bat / reg, mais ce n'est pas très agréable. J'ai donc réécrit une petite partie de PuTTY (winstore.c - fonctions qui gèrent la configuration de stockage / chargement).


J'ai également réécrit une petite partie de Pageant pour pouvoir charger la liste des sessions stockées (winpgnt.c - function update_sessions ).


Si vous trouvez un bug lié à la configuration de stockage / chargement ou non présent dans PuTTY original, n'hésitez pas à l'envoyer par e-mail à jakub@kotrla.net . Ma modification de PuTTY est sous la même licence que PuTTY - vous pouvez faire n'importe quoi avec elle, mais à vos propres risques et sans garantie.



Documentation


Ce PuTTY stocke sa configuration (sessions, clés d'hôte ssh, chemin de fichier de fichier aléatoire) au fichier au lieu du registre. Chaque session et ssh hôte clé est stockée dans un fichier distinct. Les chemins par défaut sont (où . Représente le répertoire exécutable):


  • ./sessions/packedSessionName
  • ./sshhostkeys/packedHostName
  • ./putty.rnd

Le chemin d'accès à la configuration peut être configuré via le fichier putty.conf . Le répertoire de travail actuel est recherché d'abord, si putty.conf n'est pas trouvé, le répertoire exécutable (même répertoire que putty / pscp / psftp / plink / pageant.exe) est recherché. Putty.conf devrait ressembler à ceci (s'il n'est pas trouvé les paramètres par défaut sont utilisés):


  • ;comment line
  • sessions=%SYSTEMROOT%\ses
  • sshhostkeys=\ssh\hostkeys
  • seedfile=C:\putty.rnd
  • sessionsuffix=.session
  • keysuffix=.hostkey
  • jumplist=jumplist.txt

Vous pouvez utiliser les variables environnementales dans config (comme% SYSTEMROOT%) - la chaîne sera étendue via la fonction ExpandEnviromentString WinAPI (les variables spécifiques à l'utilisateur ne sont pas encore prises en charge).


sessionsuffix et keysuffix sont facultatifs, les valeurs par défaut sont vides. Si défini, chaque fichier a un suffixe tel que défini (sessions enregistrées via sessionsuffix et ssh host keys via keysuffix ). Le but principal est d'éviter les fichiers " *.com " à partir de noms tels que ssh.domain.com . Les deux sont limités à 15 caractères. Attention: si vous avez déjà sauvegardé certaines sessions ou des clés d'hôte ssh et que vous modifiez ces suffixes, vous devez renvoyer manuellement (les ajouter à) tous les fichiers.


Jumplist est une nouvelle fonctionnalité de Windows 7 prise en charge par PuTTY 0.61. Parce que ce PuTTY devrait être léger, si vous ne définissez pas de chemin vers un jeu de jumplist, aucun ne sera créé.


Ce PuTTY est toujours capable de charger la configuration à partir du registre. Les sessions chargées depuis le registre sont marquées [registre]. Lorsque PuTTY vérifie la clé hôte ssh et ne se trouve pas dans le fichier, mais dans le registre, vous pouvez déplacer / copier une clé dans un fichier (ou évidemment ne rien faire).


La liste des chargements de répétition des sessions enregistrées à partir du chemin d'accès défini dans putty.conf , par défaut est ./sessions/ packedSessionName : il fonctionne de la même manière que PuTTY (y keysuffix réglage de l' keysuffix ).



ChangeLog


Ce PuTTY évolue toujours, depuis la première version simple, j'ai ajouté quelques fonctionnalités et j'ai corrigé quelques bugs. Je viens tout juste de commencer la numération des versions. Chaque changement futur, fonctionnalité et bugfix apparaîtront ici.


  • 24. 11. 2005 - première version 0.1.1
  • 22. 3. 2006 - PSCP, PSFTP compilé et ajouté
  • 22. 3. 2006 - Encadré fixe pour fonctionner correctement avec les sessionsuffix (version 0.1.2)
  • 7. 8. 2006 - PSCP fixe lors du chargement de paramètres inexistants silencieusement & null handle bug corrigé (version 0.1.3)
  • 9. 8. 2006 - beaucoup mieux la détection "répertoire putty.exe" (version 0.1.5)
  • 29. 9. 2006 - PLINK compilé et ajouté
  • 9. 1. 2007 - fixé pour sauvegarder / charger Paramètres par défaut (version 0.1.6)
  • 25. 1. 2007 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.59 et une fuite de mémoire mineure (version 0.2)
  • 24. 3. 2007 - Prise en charge des variables d'environnement dans le fichier de configuration et le nettoyage du code (version 0.2.1)
  • 1. 5. 2007 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.60 (version 0.3)
  • 15. 10. 2007 - affichage fixe "." Et "..." dans la liste des sessions (version 0.3.1)
  • 6. 3. 2008 - crash fixé si le fichier de configuration ne se termine pas par une ligne vide (version 0.3.2)
  • 12. 8. 2008 - depuis maintenant: changement dans la gestion de putty.conf et des répertoires fonctionnels / exécutables
  • 4. 9. 2008 - le concours commence putty.exe dans son répertoire de travail (du concours) et les styles visuels XP et Vista pris en charge (version 0.3.5)
  • 28. 7. 2009 - suppression de session fixe lorsque sessionsuffix est configuré dans PuTTY (version 0.3.6)
  • 4. 9. 2009 - si seeion n'est pas trouvé sur le disque, essayez dans le registre (pour le support WinSCP), bug mineur corrigé avec CurrentDirectory (version 0.3.7)
  • 7. 11. 2009 - Support pour les variables d'environnement dans les fichiers de session (version 0.3.8)
  • 12. 1. 2010 - chargement fixe de la session avec les noms contenant deux points (:) et d'autres caractères étranges (version 0.3.9)
  • 24. 8. 2011 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.61 (version 0.4), prise en charge de WinND jumplist
  • 23. 2. 2012 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.62 (version 0.5)
  • 8. 9. 2013 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.63 (version 0.6)
  • 13. 9. 2013 - Correction d'une erreur de fusion du code avec 063 - chargement des sessions du registre corrigé (version 0.6.1)
  • 8. 3. 2015 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.64 (version 0.7), les fichiers de session sont filtrés par sessionsuffix
  • 27. 9. 2015 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.65 (version 0.8)
  • 27. 9. 2015 - Mise à jour: ce PuTTY modifié est maintenant basé sur l'instantané de développement PuTTY 2015-09-27.acff0a6 pour fournir de nouveaux chiffres, par exemple courbes ed25519 et chacha20. (Version 0.8.1)
  • 18. 11. 2015 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.66 (version 0.9)
  • 6. 12. 2015 - Mise à jour: ce PuTTY modifié est maintenant basé sur l'instantané de développement PuTTY 2015-11-30.1659cf3 pour fournir de nouvelles ciphers, par exemple courbes ed25519 et chacha20. (Version 0.9.1)
  • 19. 3. 2016 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.67 (version 0.10.0) et Instantané de développement 2016_03_18.0fadffe
  • 6. 11. 2016 - recompilé en mode débogage pour éviter les faux positifs de l'Antivirus SW trop prudent
  • 20. 3. 2017 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.68 (version 0.11.0)
  • 14. 9. 2017 - Mise à jour: ce PuTTY modifié est maintenant basé sur PuTTY 0.70, emplacement fixe de PUTTY.RND pour être rad de putty.conf et utilisé correctement (version 0.12.0)


Faire un don

Si vous trouvez mon patch utile, je serai heureux si vous dites merci d'une autre manière:



Télécharger


Vous pouvez obtenir des fichiers binaires ici. Si vous voulez vous construire, téléchargez PuTTY source pour Win32 depuis PuTTY Download Page et remplacez winpgnt.c et winstore.c.




Merci


Merci à Sebastian Juerges, Sebastian Królak, Scott Akesson, Przemysław Sztoch, James Hoffman, Jones Down, Harold Hunt, Dmitry Gromov, Gorkum L. van, Kyle Brazell, Sergey Makarenko, Anthony Valentine, Jason K Larson, Tzeentch et Quip pour les tests et Des idées.


Dernière mise à jour 23:50, 14. 9. 2017 (GMT +1: 00 Prague) - réelle avec la version originale PuTTY 0.70