PuTTY를 사용하여 자동으로 열리고 연결되는 형식의 웹 사이트에 하이퍼링크를 연결하는 방법이 있습니까 ssh://10.10.10.10
?
저는 크로스 브라우저(IE 및 Firefox)에서 작동하고 구현하기 쉬운 솔루션을 찾고 있습니다. 레지스트리 편집을 수동으로 수행하도록 지원 팀에 지시할 수는 없습니다.
그 작업을 수행하는 방법을 아는 사람이 있습니까?
답변1
답변2
불행하게도 PuTTY자체적으로 연결되지 않음URL 로 ssh://
.
애플리케이션을 프로토콜과 수동으로 연결할 수 있습니다. MSDN 문서를 참조하세요.URI 체계에 애플리케이션 등록.
기본적으로 다음과 같은 레지스트리 키를 추가합니다.
[HKEY_CLASSES_ROOT\ssh]
@="URL: SSH Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\ssh\DefaultIcon]
@="\"C:\\Program Files (x86)\\PuTTY\\PuTTY.exe\",0"
[HKEY_CLASSES_ROOT\ssh\shell]
[HKEY_CLASSES_ROOT\ssh\shell\open]
[HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="\"C:\\Program Files (x86)\\PuTTY\\PuTTY.exe\""
위의 내용은 전체 URL을 PuTTY 명령줄에 전달합니다. 그리고 PuTTY는 접두사를 이해하지 못합니다 ssh://
. 따라서 ssh://
PuTTY에 사용자와 호스트만 전달하는 래퍼 스크립트를 추가해야 합니다 .
이에 대해서는 다음을 참조하세요.
https://johnsofteng.wordpress.com/2009/05/12/launch-putty-from-browser/
또 다른 방법은WinSCP. 그것ssh://
URL을 처리하기 위해 자신을 등록합니다.그리고PuTTY에서 URL로 지정된 세션을 엽니다..
(저는 WinSCP의 저자입니다)
답변3
이것 좀 봐: https://gist.github.com/sbiffi/11256316
저는 퍼티를 변경할 필요가 없는 솔루션을 원했습니다.
이는 URL을 구문 분석하고 putty.exe -ssh -l login과 같은 표준 매개변수를 사용하여 putty를 실행하는 ssh:// 및 telnet:// URL에 시각적 기본 스크립트를 연결합니다.
2가지 추가 이점: – 자동 인증을 위해 비밀번호를 URL로 전달할 수 있습니다. – 퍼티를 변경할 필요가 없으므로 모든 패치에 적용됩니다.
답변4
PuTTY가 직접 열 수 있도록 PuTTY에 전달하기 전에 URI에서 ssh:// 및 후행(실제로는 모두) /를 제거하는 레지스트리 클래스는 다음과 같습니다.
사용자당:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\ssh]
@="URL:ssh Protocol"
"URL Protocol"="ssh://"
[HKEY_CURRENT_USER\Software\Classes\ssh\shell]
[HKEY_CURRENT_USER\Software\Classes\ssh\shell\open]
[HKEY_CURRENT_USER\Software\Classes\ssh\shell\open\command]
@="cmd /V:ON /c set params=%1 && set params=!params:ssh://=! && start \"PuTTY\" \"c:\\Program Files (x86)\\PuTTY\\putty.exe\" \"!params:/=!\""
그리고 시스템의 모든 사람에 대해 다음을 수행합니다.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ssh]
@="URL:ssh Protocol"
"URL Protocol"="ssh://"
[HKEY_CLASSES_ROOT\ssh\shell]
[HKEY_CLASSES_ROOT\ssh\shell\open]
[HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="cmd /V:ON /c set params=%1 && set params=!params:ssh://=! && start \"PuTTY\" \"c:\\Program Files (x86)\\PuTTY\\putty.exe\" \"!params:/=!\""
필요에 따라 파일 경로를 변경하십시오.
/V:ON은 'SetLocal EnableDelayedExpansion'과 동일합니다.
/c 명령을 실행합니다
나는 'ssh://domain.tld/'라는 매개변수에 매개변수를 설정했습니다. 그런 다음 변수 params에서 'ssh://'를 ''로 찾기 대체하는 '!params:ssh://=!'를 사용하여 'ssh://'를 제거합니다. 이를 다시 params에 할당합니다. 이제 params = 'domain.tld/'입니다. 그런 다음 이를 퍼티에 전달하고 또 다른 찾기 대체를 수행하여 '/'를 ''로 바꾸어 Windows가 추가하는 후행 슬래시를 제거하고 PuTTY가 사용할 수 있는 'domain.tld'를 남겨 둡니다.
이를 통해 레지스트리 항목에 입력된 명령으로 모든 작업을 처리할 수 있습니다. 어떤 종류의 삭제 작업도 전혀 수행하지 않으며 쉽게 악용될 수 있으므로(예: ssh://&¬epad가 메모장을 엽니다) URI를 자신만 아는 것으로 변경할 수 있습니다.