Rendi aperti i collegamenti ssh: // con PuTTY


15

Esiste un modo per associare collegamenti ipertestuali su siti Web nel formato che ssh://10.10.10.10si aprono automaticamente e si connettono tramite PuTTY?

Sto cercando una soluzione che funzioni su più browser (IE e Firefox) ed è facile da implementare. Non posso dare istruzioni al nostro team di supporto per eseguire manualmente le modifiche al registro :(

Qualcuno sa come farlo funzionare?

Risposte:


8

C'è una forcella Putty di nome Kitty , il suo sito web include le istruzioni per fare esattamente quello che vuoi.

Implica modifiche al registro, ma queste si ottengono scaricando un file .reg e facendo clic su di esso in Windows Explorer (con i privilegi di amministratore credo).


5

Purtroppo PuTTY non si associa agli ssh://URL.

È possibile associare un'applicazione a un protocollo manualmente. Vedere l'articolo MSDN Registrazione di un'applicazione in uno schema URI .

Fondamentalmente aggiungi una chiave di registro come:

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

Sebbene quanto sopra passa un intero URL alla riga di comando PuTTY. E PuTTY non capisce il ssh://prefisso. Quindi dovresti aggiungere uno script wrapper che rimuove ssh://e passa solo un utente e un host a PuTTY.

Per questo vedi:
https://johnsofteng.wordpress.com/2009/05/12/launch-putty-from-browser/


Un altro modo è utilizzare WinSCP . Si registra per gestire l' ssh://URL e apre la sessione specificata dall'URL in PuTTY .

(Sono l'autore di WinSCP)


2

Vedi questo: https://gist.github.com/sbiffi/11256316

Volevo una soluzione che non ha bisogno di cambiare mastice.

Associa uno script di Visual Basic a URL ssh: // e telnet: //, che analizza l'URL e avvia putty utilizzando parametri standard come putty.exe -ssh -l login.

2 ulteriori vantaggi: - La password può essere passata nell'URL anche per l'autenticazione automatica - Non è necessario modificare lo stucco, adattandosi quindi a tutte le patch.


2
Ho trovato un modo per farlo con solo le chiavi di registro usando un PowerShellcomando. Ecco qui.
ubomb,

@ubomb FYI, c'è una risposta del 2017 che sembra simile alla cmd.exeversione nella tua domanda. Forse è abbastanza diverso da superare i limiti che hai dovuto affrontare prima di passare a PowerShell.
jpaugh

2

Ecco una classe di registro che rimuoverà ssh: // e trailing (in realtà, tutti) / dall'URI prima di passarlo a PuTTY in modo che PuTTY possa aprirlo direttamente:

Per utente:

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

E, per tutti sul sistema:

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

Modifica il percorso del file in base alle tue esigenze.

/ V: ON è uguale a "SetLocal EnableDelayedExpansion"

/ c esegue il comando

Ho impostato params sul paramater che è 'ssh: //domain.tld/'. Quindi rimuovo 'ssh: //' da esso con '! Params: ssh: // =!', Che è un sostituto di 'ssh: //' a '' sui parametri della variabile. Lo riassegno a params, ora params = 'domain.tld /'. Poi lo passo a putty e faccio un altro find-rimpiazzo per sostituire '/' con '' per rimuovere la barra finale che Windows mette, lasciando 'domain.tld' che PuTTY può usare.

Questo mi permette di elaborare tutto nel comando inserito nella voce di registro. Non esegue alcun tipo di disinfezione ed è facilmente sfruttabile (es. Ssh: // && notepad apre il blocco note), quindi potresti voler cambiare l'URI in qualcosa che solo tu conosci.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.