ทำให้ ssh: // ลิงก์เปิดด้วย PuTTY


15

มีวิธีเชื่อมโยงไฮเปอร์ลิงก์บนเว็บไซต์ที่อยู่ในรูปแบบssh://10.10.10.10เปิดโดยอัตโนมัติและเชื่อมต่อโดยใช้ PuTTY หรือไม่

ฉันกำลังมองหาโซลูชันที่จะทำงานข้ามเบราว์เซอร์ (IE และ Firefox) และใช้งานง่าย ฉันไม่สามารถให้คำแนะนำกับทีมสนับสนุนของเราเพื่อทำการแก้ไขรีจิสทรีด้วยตนเอง :(

ใครรู้วิธีการทำงานที่?

คำตอบ:


8

มันมีส้อมโป๊วชื่อคิตตี้มันเป็นเว็บไซต์ที่มีคำแนะนำสำหรับการทำสิ่งที่คุณต้องการ

มันเกี่ยวข้องกับการเปลี่ยนแปลงรีจิสทรี แต่สิ่งเหล่านี้สามารถทำได้โดยการดาวน์โหลดไฟล์. reg และคลิกที่มันใน windows explorer (ด้วยสิทธิ์ผู้ดูแลระบบฉันเดา)


5

PuTTY น่าเสียดายที่ไม่ได้เชื่อมโยงตัวเองกับssh://URL

คุณสามารถเชื่อมโยงแอปพลิเคชันกับโปรโตคอลด้วยตนเอง ดูบทความ 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 และเรียกใช้ putty โดยใช้พารามิเตอร์มาตรฐานเช่น putty.exe -ssh -l login

ข้อดีเพิ่มเติม 2 ข้อ: - รหัสผ่านสามารถส่งผ่าน URL ได้เช่นกันสำหรับการตรวจสอบอัตโนมัติ - ไม่จำเป็นต้องเปลี่ยนผงสำหรับอุดรูจึงปรับให้เหมาะกับแพทช์ทั้งหมด


2
ฉันหาวิธีที่จะทำได้ด้วยเพียงรีจิสตรีคีย์โดยใช้PowerShellคำสั่ง ไปเลย
ubomb

@ubomb FYI มีคำตอบจาก 2017ที่คล้ายกับcmd.exeเวอร์ชันในคำถามของคุณ อาจแตกต่างกันพอที่จะเอาชนะข้อ จำกัด ที่คุณเผชิญก่อนเปลี่ยนเป็น PowerShell
jpaugh

2

นี่คือคลาสรีจิสตรีที่จะลบ ssh: // และ trailing (อันที่จริง, ทั้งหมด) / จาก URI ก่อนส่งต่อไปยัง PuTTY เพื่อ 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 /' จากนั้นฉันจะส่งต่อไปยัง putty และหา find-replace เพื่อแทนที่ '/' ด้วย '' เพื่อลบเครื่องหมายสแลชต่อท้ายที่ Windows วางไว้โดยปล่อย 'domain.tld' ซึ่ง PuTTY สามารถใช้ได้

นี่ทำให้ฉันสามารถประมวลผลทั้งหมดในคำสั่งที่ป้อนในรายการรีจิสทรี มันไม่ได้ทำการฆ่าเชื้อใด ๆ เลยและใช้ประโยชน์ได้ง่าย (เช่น ssh: // && notepad จะเปิด notepad) ดังนั้นคุณอาจต้องการเปลี่ยน URI เป็นสิ่งที่คุณเท่านั้นที่รู้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.