PuTTY로 ssh : // 링크 열기


15

ssh://10.10.10.10PuTTY를 사용하여 자동으로 열린 형식의 웹 사이트에서 하이퍼 링크를 연결하는 방법이 있습니까?

크로스 브라우저 (IE 및 Firefox)에서 작동하고 구현하기 쉬운 솔루션을 찾고 있습니다. 지원 팀에 레지스트리 편집을 수동으로 수행하라는 지침을 줄 수 없습니다.

아무도 그 일을하는 방법을 알고 있습니까?

답변:


8

Kitty 라는 Putty 포크가 있으며 , 웹 사이트에는 원하는 것을 정확하게 수행하는 지침 이 포함되어 있습니다.

레지스트리 변경과 관련이 있지만 .reg 파일을 다운로드하고 Windows 탐색기에서 클릭하면됩니다 (관리자 권한으로 추측합니다).


5

불행히도 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을 하고 퍼티의 URL에 의해 지정된 세션을 엽니 다 .

(저는 WinSCP의 저자입니다)


2

이것을보십시오 : https://gist.github.com/sbiffi/11256316

퍼티를 바꿀 필요가없는 솔루션을 원했습니다.

시각적 기본 스크립트를 ssh : // 및 telnet : // URL에 연결합니다.이 URL은 URL을 구문 분석하고 putty.exe -ssh -l login과 같은 표준 매개 변수를 사용하여 putty를 실행합니다.

– 자동 인증을 위해 URL에 암호를 전달할 수 있음 – 퍼티를 변경할 필요가 없으므로 모든 패치에 적용됩니다.


2
PowerShell명령을 사용하여 레지스트리 키로 수행하는 방법을 찾았습니다 . 여기 요
ubomb

@ubomb 참고 로 2017 년cmd.exe 의 질문에 대한 답변 과 비슷한 답변이 있습니다. 아마도 PowerShell로 전환하기 전에 직면했던 한계를 극복하기에는 충분히 다른 것 같습니다.
jpaugh

2

PuTTY에 전달하기 전에 URI에서 ssh : //와 후행 (실제로는 모두) /를 제거하여 PuTTY가 직접 열 수있는 레지스트리 클래스는 다음과 같습니다.

사용자 당 :

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/'라는 매개 변수로 설정했습니다. 그런 다음 변수 매개 변수에서 'ssh : //'를 ''로 대체하는 '! params : ssh : // =!'로 'ssh : //'를 제거합니다. 다시 params에 할당합니다. 이제 params = 'domain.tld /'입니다. 그런 다음 퍼티에 전달하고 '/'를 ''로 바꾸어 다른 찾기 대체를 수행하여 Windows가 넣는 후행 슬래시를 제거하고 PuTTY가 사용할 수있는 'domain.tld'를 남겨 둡니다.

이를 통해 레지스트리 항목에 입력 한 명령으로 모두 처리 할 수 ​​있습니다. 그것은 전혀 위생 처리를하지 않으며 쉽게 이용할 수 있습니다 (예 : ssh : // && notepad opens notepads) URI를 자신이 아는 것으로 변경하고 싶을 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.