Aquí hay una clase de registro que eliminará el ssh: // y el final (en realidad, todos) / 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 en el 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 quito el 'ssh: //' de él con '! Params: ssh: // =!', Que es un sustituto de búsqueda para 'ssh: //' a '' en los parámetros variables. Lo asigno de nuevo a params, ahora params = 'domain.tld /'. Luego lo paso a masilla y hago otra búsqueda de reemplazo para reemplazar '/' con '' para eliminar la barra diagonal que Windows pone, dejando 'domain.tld' que PuTTY puede usar.
Esto me permite procesarlo todo en el comando ingresado en la entrada del registro. No hace ningún tipo de desinfección y es fácilmente explotable (por ejemplo, ssh: // && notepad abre notepad), por lo que es posible que desee cambiar el URI a algo que solo usted conoce.
PowerShell
comando. Aqui tienes.