Original article:
http://jakub.kotrla.net/putty/PuTTY
як конфігурація збереження win32 в файл
Загальна
інформація
PuTTY –
це вільно розповсюджуваний клієнт telnet/ssh розроблений для Win32 і платформ
Unix. Це програма формату «exe», яка не вимагає встановлення а також якихось
додаткових файлів формату dll. Тобто, її можна запускати просто з диска, флеш
накопичувача тощо.
Дана програма зберігає конфігурацію в реєстрі ([HKEY_CURRENT_USER\Software\SimonTatham\PuTTY]), оскільки
неможливо зберігати/завантажувати його з файлу на дискові та інших знімні
пристрої. Існують також обхідні файли bat/reg, але ж вони не настільки ефективні. Саме
тому, я трохи переписав програму PuTTY (winstore.c – функції, які добре
підходять до конфігурації збереження/завантаження).
Я також вніс деякі ремарки до Pageant з тим,
щоб можна було завантажувати список сесії зберігання (winpgnt.c з функцією update_sessions).
У разі, якщо ви знайшли якусь помилку в програмі,
пов'язану із зберіганням/завантаженням конфігурації або несправність в
оригінальній версії PuTTY, будь ласка, надсилайте листа на пошту jakub@kotrla.net.
Моя модифікація, яку я вніс в програму PuTTY використовується в межах тієї ж самої ліцензії, що і оригінальна версія. Вона виконує ті самі функції,
ви маєте право на виконання будь-яких задач в даній програмі.
Документація
Моя версія програми PuTTY зберігає всі конфігурації не в
реєстр, як це робиться в оригінальній версії, а у файл. Кожна сесія та
хост-ключ зберігаються в окремий файл. Існують такі шляхи за замовчуванням (де
. представляє виконувану директорію):
- ./sessions/packedSessionName
- ./sshhostkeys/packedHostName
- ./putty.rnd
Шлях до збереження конфігурації можна налаштувати через
файл putty.conf. Спочатку
проводиться пошук поточної робочої директорії, і у разі, якщо putty.conf не знайдено, починається
пошук виконуваної директорії (та сама директорія що і putty/pscp/psftp/plink/pageant.exe).
putty.conf повинно мати наступний вигляд (тільки якщо не знайдено використовувані
файли за замовчуванням):
;comment
line
sessions=%SYSTEMROOT%\ses
sshhostkeys=\ssh\hostkeys
seedfile=C:\putty.rnd
sessionsuffix=.session
keysuffix=.hostkey
jumplist=jumplist.txt
Можна користуватися змінними оточування в конфігурації
(наприклад, %SYSTEMROOT%),
що призведе до збільшення рядка через функцію ExpandEnviromentString WinAPI (підтримка користувацьких змінних на даний
момент не підтримується).
sessionsuffix
та keysuffix можна вибирати за бажанням, файли
за замовчуванням пусті. Після налаштування, кожен файл повинен мати якийсь
певний суфікс (тобто, суфікс для збережених сесій – sessionsuffix, а суфікс для
хост-ключа shh – keysuffix). Головна мета – це уникнути появи “*.com”
Попередження:
якщо ви вже зберегли деякі сесії чи хост-ключі ssh і ви
вносите зміні до суфіксів, Вам потрібно буде перейменувати всі файли в ручному
режимі.
Jumplist – це нова функція в Windows
7, яка працює на базі PuTTY 0.61. Дана версія PuTTY має бути спрощеною і якщо
ви не зробите налаштування шляху в jumplist, зробити будь-які операції буде
неможливо.
Однак, ця версія все ж таки може
завантажувати конфігурацію з реєстру. Ті сесії, які завантажуються з реєстру
мають позначку (реєстр). Коли PuTTY проводить пошук хост-ключа ssh і не може
знайти його у файлі, але він є у реєстрі, Ви можете без проблем
перемістити/скопіювати його у файл (або ж нічого не робити з ним).
Pageant завантажує список збережених
сесій зі шляху, який заданий в
putty.conf,
а
файл за замовчуванням - ./sessions/packedSessionName – у даному разі, вся операція проводиться таким
чином, як у оригінальній версії PuTTY (звісно ж, враховуючи налаштування
keysuffix).
Журнал змін проекту
Ця версія PuTTY постійно розвивається і тому з того часу, як я
вперше випустив програму я вже встиг внести деякі зміни до програми та виправив
наявні помилки. Я щойно розпочав випускати все нові і нові версії програми.
Нижче ви знайдете всі зміни, додаткові функції та виправлені помилки.
- 24. 11. 2005 – перша версія
0.1.1
- 22. 3. 2006 - PSCP, PSFTP
скомпільована & дороблена
- 22. 3. 2006 – внесення
виправлення до Pageant, щоб можна було працювати
з sessionsuffix без помилок (версія 0.1.2)
- 7. 8. 2006 - виправлено PSCP
при завантаженні не існуючих налаштувань а також виправлена помилка null handle (версія 0.1.3)
- 9. 8. 2006 – добавлена
функція ліпшого детектування "putty.exe directory" (версія
0.1.5)
- 29. 9. 2006 - PLINK
скомпільована & дороблена
- 9. 1. 2007 – виправлена помилка
збереження/завантаження налаштувань за замовчуванням (версія 0.1.6)
- 25. 1. 2007 - Оновлення:
модифікована версія PuTTY працює на основі PuTTY 0.59 & виправлено
помилку в пам’яті програми (версія 0.2)
- 24. 3. 2007 – Підтримка
змінних оточення в файлі конфігурації & прочистка коду програми
(версія 0.2.1)
- 1. 5. 2007 - Оновлення:
модифікована версія PuTTY тепер працює на основі PuTTY 0.60 (версія 0.3)
- 15. 10. 2007 – виправлено
показ "." і ".." сесій в списку сесій (версія 0.3.1)
- 6. 3. 2008 – виправлено збій
програми, якщо файл конфігурації не закінчується пустою лінією (версія
0.3.2)
- 12. 8. 2008 – відтепер:
зміна в роботі putty.con та робочих/виконуваних директорій
- 4. 9. 2008 - pageant
запускає putty.exe зі своєї робочої директорії & підтримка візуальних
стилів на XP та Vista (версія 0.3.5)
- 28. 7. 2009 – виправлена
сесія видалення при налаштованому sessionsuffix на PuTTY (версія 0.3.6)
- 4. 9. 2009 – як ви не можете
знайти сесію на накопичувачеві, спробуйте знайти її у реєстрі
(підтримується лише наWinSCP), також виправлені деякі помилки у
CurrentDirectory (версія 0.3.7)
- 7. 11. 2009 – Підтримка
змінних оточення в сесійних файлах (версія0.3.8)
- 12. 1. 2010 – виправлено
завантаження сесії з назвою, яка може містити двокрапку та інші
незрозумілі символи (версія 0.3.9)
- 24. 8. 2011 - Оновлення: ця
модифікована версія PuTTY працює на основі PuTTY 0.61 (версія 0.4),
підтримка Win7 jumplist
- 23. 2. 2012 - Оновлення: ця
модифікована версія PuTTY працює на основі
PuTTY 0.62 (версія 0.5)
- 8. 9. 2013 - Оновлення: ця
модифікована версія PuTTY працює на основі PuTTY 0.63 (версія 0.6)
- 13. 9. 2013 – Виправлено
помилку появи коду 063; виправлено завантажені сесії з реєстру (версія
0.6.1)
- 8. 3. 2015 - Оновлення: ця
модифікована версія PuTTY працює на основі PuTTY 0.64 (версія 0.7),
сесійні файли фільтруються завдяки sessionsuffix
- 27. 9. 2015 - Оновлення: ця
модифікована версія PuTTY працює на основі PuTTY 0.65 (версія 0.8)
- 27. 9. 2015 - Оновлення: ця
модифікована версія PuTTY працює на основі PuTTY Розвиток snapshot
2015-09-27.acff0a6, щоб можна було додавати нові коди, наприклад, ed25519
криві та chacha20. (версія 0.8.1)
- 18. 11. 2015 - Оновлення: ця
модифікована версія PuTTY працює на основі PuTTY 0.66 (версія 0.9)
- 6. 12. 2015 - Оновлення: ця
модифікована версія PuTTY працює на основі PuTTY Розвиток snapshot
2015-11-30.1659cf3, щоб можна було додавати нові коди, наприклад, ed25519
криві та chacha20. (версія 0.9.1)
- 19. 3. 2016 - Оновлення: ця
модифікована версія PuTTY працює на основі
PuTTY 0.67 (версія 0.10.0) Та розвиток snapshot 2016_03_18.0fadffe
Пожертвування
Якщо Ви вважаєте дану програму корисною, я буду вдячний
Вам, якщо можете віддячити мені матеріальним пожертвуванням:
Завантажити
·
Все
в одному файлі ZIP – працює на основі PuTTY 0.67, - альтернативний варіант: Все
в одному файлі ZIP – працює на основі розвитку снепшоту 2016_03_18.0fadffe
Попередні версії програми:
o
все
в одному файлі ZIP (PuTTY 0.65, версія файлу 0.8.0)
o
все
в одному файлі ZIP (PuTTY 0.64, версія файлу 0.7.0)
o
все
в одному файлі ZIP (PuTTY 0.63, версія файлу 0.6.1)
o
все
в одному файлі ZIP (PuTTY 0.63, версія файлу 0.6.0)
o
все
в одному файлі ZIP (PuTTY 0.62, версія файлу 0.5.0)
o
все
в одному файлі ZIP (PuTTY 0.61, версія файлу 0.4.1)
·
Індивідуальні
виконувані файли:
·
Вихідний
код для перевірки мого коду
o
Переписаний winstore.c –
PuTTY, PSCP, PLINK, PSFTP
o
Переписаний winpgnt.c – Pageant
·
Якщо
Ви бажаєте побудувати переписаний PuTTY (PSCP, PLINK, PSFTP) самостійно,
завантажте PuTTY ресурс для win32 зі сторінки завантажень PuTTY та замініть winstore.c на переписаний winstore.c.
·
Якщо
Ви бажаєте побудувати переписаний Pageant самостійно, завантажте ресурс PuTTY
для win32 зі сторінки завантажень та замініть winpgnt.c на переписаний winpgnt.c.
Подяка
Хочу подякувати 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 та Quip за
тестування та ваші ідеї.
Останнє редагування статті: 14:50б 19.3.2016 (GMT
+100 Прага) – співпадає з оригінальною PuTTY версії 0.67