Тотальная неудачница и убийца жёстких дисков.
#post-id: 8006-14-39
#original-date: 27.06.2022 Mon
#original-time: 2:39 PM
#original-day: 8006
#original-host: Win7 Ultimate SP1 (Build 7601)

В какой-то момент WinSCP сотоварищи перестали нормально использовать агента из комплекта PuTTYTray. Соединяешься с сервером, а он говорит, что не удалось аутентифицироваться, хотя публичный ключ принят, ну и давай пароль от ключа. Раньше это происходило время от времени, я думала, что какая-то программа мешает коммуникациям, но теперь поотваливалось всё.

PuTTYTray – хороший, но уже сто лет не обновлялся. Обычный PuTTY юзать не хочу, потому что не портабелен. Поэтому решила ещё раз глянуть на KiTTY...

Ну, аляповатое исполнение за долгие годы так и не поправили. То, что осталось от PuTTY – выглядит норм. То, что поправили авторы KiTTY – вызывает вопросы. То, что они сами запилили – просто бросается в глаза. Ещё иконки из дельфей на кнопки добавить, и будет самое то.

Ещё у них обновлённые иконки есть. Местами – норм, местами – так себе, местами с градиентами и полутенями, местами – старый добрый Win16 пиксель-арт (в хорошем смысле). Но они то ли неправильно грузятся, то ли не имеют размера 16x16, поэтому в трее и в заголовках окон выглядят как гогно. В принципе, тоже дельфи вайбы.

/* При этом забавно, что авторы PuTTYTray справлялись с задачей не испоганить интерфейс, а эти – нет. */

Сам клиент работает. Тамошний агент тоже работает, в том числе и с WinSCP и Bitvise SSH Client, но не запоминает добавленные ключи. Тоесть, не работает :}

Портабельный режим есть, но авторы, похоже, сами не поняли, как он включается: то ли специальный екзешник надо использовать, то ли у специального екзешника должно быть специальное имя, то ли достаточно INI файла. Для использования агента, например, они прелагают переименовать екзешник в «putty.exe», а на странице загрузок предлагают качнуть отдельный екзешник-агент.

Сессии и настройки хранятся в отдельных файлах, но там, судя по всему, код, который сохраняет настройки в реестре, заменили на простенькие заглушки, в результате чего всё пишется в файлы топорным методом, вплоть до нечитабельности файлов, если строчки идут не в правильном порядке.

Кстати, бич портабельных программ – использование текущего каталога – есть и здесь. Все пути, которыми оперирует программа, – относительные и не приводятся к каталогу самой программы. В результате чего всякие имена файлов логов и прочего нужно либо указывать полностью, либо надеяться, что в процессе работы программа не сменит текущий каталог. А она может это сделать в неожиданных местах: например, когда спрашивает, верен ли ключ сервера, и, если пользователь говорит «Да», сохраняет файл с ключом в специальный подкаталог, меняя текущий на оный.

Короче, KiTTY, может быть, и неплохой форк, но выглядит отвратительно и работает как-то так же.

#upd(28.06.2022 - 2:54 PM):

Судя по всему, агент, который не помнит ключи – это фишка PuTTY. Там надо передавать список через командную строку. Запоминание, видимо, добавили в PuTTYTray.

#upd(26.04.2024 - 11:26 PM):

Пользуюсь PuTTY. Относительные пути и текущий каталог – это проблема его самого, передавшаяся по наследству KiTTY. Очень печально, надо всегда помнить о стартовом каталоге =_=