Đặt ssh: // liên kết mở với PuTTY


15

Có cách nào để liên kết các siêu liên kết trên các trang web có định dạng ssh://10.10.10.10tự động mở và kết nối bằng PuTTY không?

Tôi đang tìm kiếm một giải pháp sẽ hoạt động trên nhiều trình duyệt (IE và Firefox) và rất dễ thực hiện. Tôi không thể đưa ra hướng dẫn cho nhóm hỗ trợ của chúng tôi để thực hiện chỉnh sửa đăng ký theo cách thủ công :(

Bất cứ ai biết làm thế nào để làm việc đó?

Câu trả lời:


8

Có một ngã ba Putty tên Kitty , trang web của nó bao gồm các hướng dẫn để làm chính xác những gì bạn muốn.

Nó liên quan đến những thay đổi đăng ký nhưng những điều này được thực hiện bằng cách tải xuống tệp .reg và nhấp vào nó trong windows explorer (với đặc quyền quản trị viên tôi đoán).


5

Thật không may, PuTTY không liên kết chính nó với các ssh://URL.

Bạn có thể liên kết một ứng dụng với một giao thức theo cách thủ công. Xem bài viết MSDN Đăng ký một ứng dụng cho sơ đồ URI .

Về cơ bản, bạn thêm một khóa registry như:

[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\""

Mặc dù ở trên chuyển toàn bộ URL tới dòng lệnh PuTTY. Và PuTTY không hiểu ssh://tiền tố. Vì vậy, bạn sẽ phải thêm một tập lệnh bao bọc để loại bỏ ssh://và chỉ truyền một người dùng và máy chủ lưu trữ cho PuTTY.

Để xem:
https://johnsofteng.wordpress.com/2009/05/12/launch-putty-from-browser/


Một cách khác là sử dụng WinSCP . Nó tự đăng ký để xử lý ssh://URLmở phiên được chỉ định bởi URL trong PuTTY .

(Tôi là tác giả của WinSCP)


2

Xem điều này: https://gist.github.com/sbiffi/11256316

Tôi muốn một giải pháp không cần thay đổi putty.

Nó liên kết một tập lệnh cơ bản trực quan với ssh: // và telnet: // URL, phân tích cú pháp URL và khởi chạy putty bằng các tham số tiêu chuẩn như putty.exe -ssh -l đăng nhập.

2 lợi thế bổ sung: - Mật khẩu có thể được chuyển qua URL để xác thực tự động - Không cần thay đổi putty, do đó thích nghi với tất cả các bản vá.


2
Tôi đã tìm ra một cách để làm điều đó chỉ với các khóa đăng ký bằng cách sử dụng một PowerShelllệnh. Bạn đi đây
ubomb

@ubomb FYI, có một câu trả lời từ năm 2017 có vẻ giống với cmd.exephiên bản trong câu hỏi của bạn. Có lẽ nó đủ khác để vượt qua những hạn chế mà bạn gặp phải trước khi chuyển sang PowerShell.
jpaugh

2

Đây là một lớp đăng ký sẽ xóa ssh: // và trailing (thực ra là tất cả) / khỏi URI trước khi chuyển nó sang PuTTY để PuTTY có thể trực tiếp mở nó:

Mỗi người dùng:

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:/=!\""

Và, cho tất cả mọi người trên hệ thống:

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:/=!\""

Thay đổi đường dẫn tệp dựa trên nhu cầu của bạn.

/ V: ON giống như 'SetLocal EnableDelayedExpansion'

/ c chạy lệnh

Tôi đặt params cho paramater đó là 'ssh: //domain.tld/'. Sau đó, tôi tách 'ssh: //' từ nó bằng '! Params: ssh: // =!', Đây là một tìm kiếm thay thế cho 'ssh: //' thành '' trên các thông số biến. Tôi gán lại cho params, bây giờ params = 'domain.tld /'. Sau đó, tôi chuyển nó cho putty và thực hiện một tìm kiếm khác để thay thế '/' bằng '' để xóa dấu gạch chéo mà Windows đưa vào, để lại 'domain.tld' mà PuTTY có thể sử dụng.

Điều này cho phép tôi xử lý tất cả trong lệnh đã nhập trong mục đăng ký. Nó hoàn toàn không thực hiện bất kỳ loại vệ sinh nào và có thể dễ dàng khai thác (Ví dụ: ssh: // && notepad mở notepad) vì vậy bạn có thể muốn thay đổi URI thành thứ gì đó mà bạn chỉ biết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.