Abra links ssh: // com PuTTY

Abra links ssh: // com PuTTY

Existe uma maneira de associar hiperlinks em sites que estão no formato de ssh://10.10.10.10abertura 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.

informação relacionada