Crie links ssh: // abertos com o PuTTY

13

Existe uma maneira de associar hiperlinks em sites que estão no formato ssh://10.10.10.10 automaticamente abertos e conectados usando o PuTTY?

Estou procurando uma solução que funcione em vários navegadores (IE e Firefox) e seja fácil de implementar. Eu não posso dar instruções para nossa equipe de suporte para realizar edições de registro manualmente: (

Alguém sabe como fazer isso funcionar?

    
por Mistiry 27.10.2010 / 22:42

4 respostas

8

Existe um garfo Putty chamado Kitty , o site inclui instruções para fazer exatamente o que você quer.

Isso envolve mudanças no registro, mas isso é feito baixando um arquivo .reg e clicando nele no Windows Explorer (com privilégios de administrador, eu acho).

    
por 01.11.2010 / 17:45
2

Veja isto: link

Eu queria uma solução que não precisasse alterar a massa.

Ele associa um script básico visual às URLs ssh: // e telnet: //, que analisa a URL e inicia a putty usando parâmetros padrão como putty.exe -ssh -l login.

2 vantagens adicionais: - Senha pode ser passada em URL também para autenticação automática - Não há necessidade de trocar a massa, assim adaptada a todos os adesivos.

    
por 24.04.2014 / 16:55
1

PuTTY infelizmente não se associa ao ssh:// URLs.

Você pode associar um aplicativo a um protocolo manualmente. Consulte o artigo do MSDN Registrando um aplicativo em um esquema de 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 acima passe uma URL inteira para a linha de comando do PuTTY. E o PuTTY não entende o prefixo ssh:// . Então você teria que adicionar um script wrapper que retira o ssh:// e passa apenas um usuário e um host para o PuTTY.

Para isso, veja: link

Outra maneira é usar o WinSCP . Ele se registra para lidar com a ssh:// URL e abre a sessão especificada pelo URL no PuTTY .

(eu sou o autor do WinSCP)

    
por 09.01.2017 / 11:07
0

Aqui está uma classe de registro que removerá o ssh: // e o trailing (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 em suas necessidades.

/ V: ON é o mesmo que 'SetLocal EnableDelayedExpansion'

/ c executa o comando

Eu configurei params para o parâmetro que é 'ssh: //domain.tld/'. Então eu retiro o 'ssh: //' dele com o '! Params: ssh: // =!', Que é um find-replace para 'ssh: //' to '' na variável params. Eu atribuo de volta a params, agora params = 'domain.tld /'. Em seguida, passo para putty e faço outro find-replace 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, o bloco de notas abre o bloco de notas), portanto, talvez você queira alterar o URI para algo que só você saiba.

    
por 09.07.2017 / 06:51

Tags