Hacer que los enlaces ssh:// se abran con PuTTY

Hacer que los enlaces ssh:// se abran con PuTTY

¿Existe alguna forma de asociar hipervínculos en sitios web que tienen el formato de ssh://10.10.10.10apertura automática y conexión mediante PuTTY?

Estoy buscando una solución que funcione en varios navegadores (IE y Firefox) y que sea fácil de implementar. No puedo dar instrucciones a nuestro equipo de soporte para realizar ediciones de registro manualmente :(

¿Alguien sabe cómo hacer que eso funcione?

Respuesta1

Hay un tenedor Putty llamadogatito, su sitio web incluyeinstruccionespor hacer exactamente lo que quieres.

Implica cambios en el registro, pero se logran descargando un archivo .reg y haciendo clic en él en el explorador de Windows (con privilegios de administrador, supongo).

Respuesta2

Masilla desafortunadamenteno se asociacon las ssh://URL.

Puede asociar una aplicación con un protocolo manualmente. Ver el artículo de MSDNRegistrar una aplicación en un esquema URI.

Básicamente agregas una clave de registro como:

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

Aunque lo anterior pasa una URL completa a la línea de comandos de PuTTY. Y PuTTY no entiende el ssh://prefijo. Por lo tanto, tendría que agregar un script contenedor que elimine ssh://y pase solo un usuario y un host a PuTTY.

Para eso ver:
https://johnsofteng.wordpress.com/2009/05/12/launch-putty-from-browser/


Otra forma es usarWinSCP. Élse registra para manejar la ssh://URLyabre la sesión especificada por la URL en PuTTY.

(Soy el autor de WinSCP)

Respuesta3

Mira esto: https://gist.github.com/sbiffi/11256316

Quería una solución que no necesitara cambiar la masilla.

Asocia un script visual básico a las URL ssh:// y telnet://, que analiza la URL e inicia PuTTY usando parámetros estándar como putty.exe -ssh -l login.

2 ventajas adicionales: – La contraseña se puede pasar en la URL también para autenticación automática – No es necesario cambiar PuTTY, por lo que se adapta a todos los parches.

Respuesta4

Aquí hay una clase de registro que eliminará ssh:// y el final (en realidad, todo) / del URI antes de pasarlo a PuTTY para que PuTTY pueda abrirlo directamente:

Por usuario:

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

Y para todos los usuarios del 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:/=!\""

Cambie la ruta del archivo según sus necesidades.

/V:ON es lo mismo que 'SetLocal EnableDelayedExpansion'

/c ejecuta el comando

Configuré parámetros para el parámetro que es 'ssh://domain.tld/'. Luego le quito el 'ssh://' con '!params:ssh://=!', que es un buscar-reemplazar para 'ssh://' a '' en la variable params. Lo asigno nuevamente a params, ahora params = 'domain.tld/'. Luego lo paso a PuTTY y hago otra búsqueda y reemplazo para reemplazar '/' con '' para eliminar la barra diagonal que coloca Windows, dejando 'domain.tld' que PuTTY puede usar.

Esto me permite procesarlo todo en el comando ingresado en la entrada del registro. No realiza ningún tipo de desinfección y es fácilmente explotable (por ejemplo, ssh://&¬epad abre el bloc de notas), por lo que es posible que desees cambiar el URI por algo que solo tú conozcas.

información relacionada