M-a-x-Z Опубликовано 4 июня, 2017 (изменено) · Жалоба Доброго времени суток! Захотелось нам в нашей внутренней системе мониторинга сделать ссылки сразу на открытие SSH к оборудованию. Благо, механизм есть: создание ссылок со схемой ssh://... и telnet://... На сайте PuTTY есть даже подробная инструкция, как браузер заставить эти ссылки отрабатывать: https://putty.org.ru/features/ssh-handler.html Но, как ни странно, PuTTY, не смотря на наличие инструкции, не хочет брать в качестве параметра "ssh://...". Т.е. браузер, как путёвый, честно передаёт putty.exe аргумент %1. На что PuTTY говорит: "ssh unknown host". В принципе, я догадаюсь, как решить проблему - скомпилить простенький экзешник, который распарсит URL в аргументы командной строки PuTTY и запилить его в HKEY_CLASSES_ROOT для обработки схемы ssh:. Но это выглядит велосипедом. М.б. можно как-то составить REG файл таким образом, чтобы передать PuTTY нужные параметры или может есть готовый exe, котоые перепарсит url в командную строку putty? Изменено 4 июня, 2017 пользователем M-a-x-Z Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Tau Опубликовано 4 июня, 2017 · Жалоба Посмотрите Kitty (форк Putty), там из коробки заявляется: -sshhandler: create protocols associations (telnet://, ssh://) for internet explorer Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stas_k Опубликовано 4 июня, 2017 · Жалоба Посмотрите Kitty (форк Putty), там из коробки заявляется: putty.org.ru/features/ssh-handler.html Обработчик протоколов: интеграция с браузером Вы можете добавить новый обработчиков протоколов, чтобы ссылки вида ssh:// и telnet:// на веб–страницах стали открываться непосредственно в PuTTY. Для этого вам необходимо выполнить команду из командной строки с правами администратора: putty.exe -sshhandler кроме того, ваш китти врет мухлюет. Высота поля для работы со списком сохранённых сессий в PuTTY очень маленькая. Единовременно вы можете видеть только 6 сессий. В KiTTY по умолчанию высота этого поля увеличина до 21 строки. у меня в putty высота поля ограничена высотой экрана. и все остальные "отличительные достоинства" тоже присутствуют. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
M-a-x-Z Опубликовано 5 июня, 2017 · Жалоба putty.org.ru/features/ssh-handler.html Это ровна та ссылка, про которую я спрашивал в заглавном посте))) Самая свежая версия (0.68) PuTTY с этого сайта ругается на ключ -sshhandler и не обрабатывает ссылки при ручной правке реестра. Это дополнительно ставит меня в тупик - почему функция документирована и не реализована. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 6 июня, 2017 · Жалоба Открой исходники да посмотри, что как маленький хомяк спрашиваешь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
M-a-x-Z Опубликовано 18 июня, 2017 · Жалоба Открой исходники да посмотри, что как маленький хомяк спрашиваешь. Ну хомяк - не хомяк, а анализировать исходники, да и ещё искать там для такого большого проекта ошибки - накладно по времени. Я ж не спрашивал, почему пуття не работает. Вопрос-то мой был ро опыт аналогичных проблем. Но видимо никто не сталкивался. Поэтому пришлось за полчаса изобрести велосипед, который на всякий случай оставлю здесь: C:\putty\putty.vbs putty="C:\putty\putty.exe" Dim WshShell set WshShell = WScript.CreateObject("WScript.Shell") Set objArgs = WScript.Arguments For i = 0 to objArgs.Count - 1 arg=objArgs(i) sch=InStr(1,arg,"://") if sch>1 then bs=InStr(sch+3,arg,"/") if bs<sch then bs=Len(arg)+1 arg2=Mid(arg,sch+3,bs-sch-3) dog=InStr(1,arg2,"@") if dog>0 then username=Mid(arg2,1,dog-1) arg2=Mid(arg2,dog+1) else username="" end if schema=LCase(Mid(arg,1,sch-1)) if schema="ssh" then if username<>"" then WshShell.Run putty+" -l "+username+" -ssh "+arg2 else WshShell.Run putty+" -ssh "+arg2 end if if schema="telnet" then WshShell.Run putty+" -telnet "+arg2 end if else MsgBox "Ты втираешь какую-то дичь" end if Next putty.reg: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\telnet] @="URL:Telnet Protocol" "EditFlags"=dword:00000002 "FriendlyTypeName"="@ieframe.dll,-907" "URL Protocol"="" "BrowserFlags"=dword:00000008 [HKEY_CLASSES_ROOT\telnet\DefaultIcon] @="c:\\putty\\putty.exe,0" [HKEY_CLASSES_ROOT\telnet\shell] @="" [HKEY_CLASSES_ROOT\telnet\shell\open] [HKEY_CLASSES_ROOT\telnet\shell\open\command] @="cscript \"c:\\putty\\putty_url.vbs\" %1" [HKEY_CLASSES_ROOT\ssh] @="URL:SSH Protocol" "EditFlags"=dword:00000002 "FriendlyTypeName"="@ieframe.dll,-907" "URL Protocol"="" "BrowserFlags"=dword:00000008 [HKEY_CLASSES_ROOT\ssh\DefaultIcon] @="c:\\putty\\putty.exe,0" [HKEY_CLASSES_ROOT\ssh\shell] @="" [HKEY_CLASSES_ROOT\ssh\shell\open] [HKEY_CLASSES_ROOT\ssh\shell\open\command] @="cscript \"c:\\putty\\putty_url.vbs\" %1" [HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\Sessions\Default%20Settings] "Cipher"="aes,chacha20,blowfish,3des,des,WARN,arcfour" "KEX"="ecdh,dh-gex-sha1,dh-group14-sha1,rsa,dh-group1-sha1,WARN" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ne-vlezay80 Опубликовано 18 июня, 2017 · Жалоба Открой исходники да посмотри, что как маленький хомяк спрашиваешь. Там исходники, На assembler и C. Компилеровать кто будет, ещё из под винды А.С. Пушкин Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 19 июня, 2017 · Жалоба На assembler и C. Компилеровать кто будет, Очевидно что достаточно найти main() и посмотреть что там с ком строкой делается. Ассемблер поди только для сжатия и крипты. Компелячить не надо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Cat035 Опубликовано 1 декабря, 2021 · Жалоба Если вы не меняли путь установки, то вот так. Если же вы меняли то открываете блокнот, кидаете туда скрипт, меняя то, что выделено чёрным на свой путь до Putty, потом сохраняете как Имя файла: Имя файла.reg Тип файла: Все файлы Кодировка: UTF-8 Дальше сохранить, закрыть и заново запустить, согласить изменить реестр из не офц источников и всё. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\telnet] @="URL:Telnet Protocol" "EditFlags"=dword:00000002 "FriendlyTypeName"="@ieframe.dll,-907" "URL Protocol"="" "BrowserFlags"=dword:00000008 [HKEY_CLASSES_ROOT\telnet\DefaultIcon] @="C:\putty\putty.exe,0" [HKEY_CLASSES_ROOT\telnet\shell] @="" [HKEY_CLASSES_ROOT\telnet\shell\open] [HKEY_CLASSES_ROOT\telnet\shell\open\command] @="\"C:\putty\putty.exe" %1" [HKEY_CLASSES_ROOT\ssh] @="URL:SSH Protocol" "EditFlags"=dword:00000002 "FriendlyTypeName"="@ieframe.dll,-907" "URL Protocol"="" "BrowserFlags"=dword:00000008 [HKEY_CLASSES_ROOT\ssh\DefaultIcon] @="C:\putty\putty.exe,0" [HKEY_CLASSES_ROOT\ssh\shell] @="" [HKEY_CLASSES_ROOT\ssh\shell\open] [HKEY_CLASSES_ROOT\ssh\shell\open\command] @="\"C:\putty\putty.exe" %1" [HKEY_CLASSES_ROOT\putty] @="URL:PuTTY Protocol" "EditFlags"=dword:00000002 "FriendlyTypeName"="@ieframe.dll,-907" "URL Protocol"="" "BrowserFlags"=dword:00000008 [HKEY_CLASSES_ROOT\putty\DefaultIcon] @="C:\putty\putty.exe,0" [HKEY_CLASSES_ROOT\putty\shell] @="" [HKEY_CLASSES_ROOT\putty\shell\open] [HKEY_CLASSES_ROOT\putty\shell\open\command] @="\"C:\putty\putty.exe" -load \"%1\"" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...