Existe uma maneira de associar hiperlinks em sites que estão no formato de ssh://10.10.10.10
abertura automática e conexão usando PuTTY?
Estou procurando uma solução que funcione em vários navegadores (IE e Firefox) e seja fácil de implementar. Não posso dar instruções à nossa equipe de suporte para realizar edições manuais no registro :(
Alguém sabe como fazer isso funcionar?
Responder1
Existe um garfo Putty chamadogatinha, seu site incluiinstruçõespor fazer exatamente o que você quer.
Envolve alterações no registro, mas elas são realizadas baixando um arquivo .reg e clicando nele no Windows Explorer (com privilégios de administrador, eu acho).
Responder2
PuTTY infelizmentenão se associacom os ssh://
URLs.
Você pode associar um aplicativo a um protocolo manualmente. Veja o artigo do MSDNRegistrando um aplicativo em um esquema URI.
Basicamente você adiciona uma chave 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\""
Embora o texto acima passe um URL inteiro para a linha de comando do PuTTY. E o PuTTY não entende o ssh://
prefixo. Portanto, você teria que adicionar um script wrapper que removesse ssh://
e passasse apenas um usuário e um host para o PuTTY.
Para isso veja:
https://johnsofteng.wordpress.com/2009/05/12/launch-putty-from-browser/
Outra maneira é usarWinSCP. Istoregistra-se para lidar com o ssh://
URLeabre a sessão especificada pela URL no PuTTY.
(Sou o autor do WinSCP)
Responder3
Veja isso: https://gist.github.com/sbiffi/11256316
Eu queria uma solução que não precisasse trocar a massa.
Ele associa um script visual básico aos URLs ssh:// e telnet://, que analisa o URL e inicia o putty usando parâmetros padrão como putty.exe -ssh -l login.
2 vantagens adicionais: – A senha pode ser passada em URL também para autenticação automática – Não há necessidade de alterar o putty, adaptando-se assim a todos os patches.
Responder4
Aqui está uma classe de registro que removerá o ssh:// e o final (na verdade, todos) / do URI antes de passá-lo para o PuTTY para que o PuTTY possa abri-lo diretamente:
Por usuário:
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, para todos no 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:/=!\""
Altere o caminho do arquivo com base nas suas necessidades.
/V:ON é o mesmo que 'SetLocal EnableDelayedExpansion'
/c executa o comando
Eu defino parâmetros para o parâmetro que é 'ssh://domain.tld/'. Então eu retiro o 'ssh://' dele com o '!params:ssh://=!', que é uma localização e substituição de 'ssh://' para '' nos parâmetros variáveis. Atribuí isso de volta aos params, agora params = 'domain.tld/'. Em seguida, passo para o putty e faço outra localização e substituição para substituir '/' por '' para remover a barra final que o Windows coloca, deixando 'domain.tld' que o PuTTY pode usar.
Isso me permite processar tudo no comando inserido na entrada do registro. Ele não faz nenhum tipo de higienização e é facilmente explorável (por exemplo, ssh://&¬epad abre o bloco de notas), então você pode querer alterar o URI para algo que só você conhece.