Author: jakub.kotrla.net
PuTTY para win32 armazenar configuração em arquivo
Informação
Recentemente, vários Antivirus SW sinalizaram binários neste site como malware. Isso é falso positivo. Eu compilo binários eu mesmo - primeiro baixe o código fonte do site do PuTTY, substitua a sessão de armazenamento de código e compile usando o Visual Studio. O PC utilizado está limpo.
A razão talvez sejam regras mais estritas e heurísticas de AV por causa de http://www.securityweek.com/attackers-use-trojanized-version-putty-steal-ssh-credentials . Eu compilei o mesmo código de plink.exe no modo Release e Debug - os resultados de AV são muito diferentes devido a combinação heurística fraca da versão Release.
Então eu decidi oferecer binários compilados em modo de debug - espero que isso sirva para o seu AV possivelmente cauteloso demais. O modo debug resulta em executáveis maiores - que é ok hoje em dia - apenas para explicar a diferença para o putty original.
Compreendo perfeitamente se você não confia em mim - sinta-se livre para compilar os binários você mesmo.
PuTTY É um ótimo cliente telnet/ssh gratuito para plataformas Win32 e Unix. É apenas um "exe", sem instalação, sem dlls extras necessários. Assim ele pode ser executado a partir de disquete, disco flash usb etc.
Mas ele armazena toda a configuração no registro ([HKEY_CURRENT_USER \ Software \ SimonTatham \ PuTTY]) - você não pode armazená-lo ou carregá-lo a partir do arquivo no disquete ou outros dispositivos removíveis. Existe uma solução alternativa com arquivos bat/reg nas esta não é muito agradável. Então eu reescrevi uma pequena parte de PuTTY (winstore.c - Funções que manipulam a configuração de armazenamento/carregamento).
Eu reescrevi uma pequena parte de Pageant também, para ser capaz de carregar a lista de sessão armazenada (winpgnt.c - função update_sessions).
Se você encontrar um bug relacionado ao armazenamento/configuração de carregamento ou não presente no PuTTY original sinta-se livre para enviá-lo por e-mail para [email protected]. Minha modificação para PuTTY está sob a mesmo licença do PuTTY - você pode fazer qualquer coisa com ele, mas a seu próprio risco e sem qualquer garantia.
Documentação
Este PuTTY armazena sua configuração (sessões, chaves de host ssh, caminho de arquivo de sementes aleatório) para arquivo em vez de registro. Cada sessão e chave do host ssh são armazenadas em um arquivo separado. Os caminhos padrão são (onde . representa o diretório executável):
- ./sessions/packedSessionName
- ./sshhostkeys/packedHostName
- ./putty.rnd
O caminho para salvar a configuração pode ser definido pelo arquivo putty.conf. O diretório de trabalho atual é pesquisado primeiro, se putty.conf não é encontrado lá, o diretório executável (mesmo diretório que putty/pscp/psftp/plink/pageant.exe) é pesquisado. putty.conf deve ser semelhante a este (se não for encontrado, padrões são usados):
;linha de comentário sessions=%SYSTEMROOT%\ses sshhostkeys=\ssh\hostkeys seedfile=C:\putty.rnd sessionsuffix=.session keysuffix=.hostkey jumplist=jumplist.txt
Você pode usar variáveis de ambiente em config (como% SYSTEMROOT%) - a string será expandida via ExpandEnviromentString função WinAPI (variáveis específicas do usuário não são suportadas ainda).
sessionsuffix
e keysuffix
são opcionais, os padrões são vazios. Se definido, cada arquivo tem um sufixo conforme definido (sessões salvas via sessionsuffix
e ssh chaves do host via keysuffix
).
O objetivo principal é evitar arquivos "*.com
" de nomes como ssh.domain.com
.
Ambos são limitados a 15 caracteres.
Atenção: Se você já salvou algumas sessões ou chaves de host ssh e você alterar esses sufixos, você tem que renomear manualmente (anexá-los a) todos os arquivos.
O Jumplist é um novo recurso do Windows 7 suportado pelo PuTTY 0.61. Porque este PuTTY deve ser leve, se você não definir caminho para jumplist, nenhum será criado.
Este PuTTY ainda é capaz de carregar a configuração do registro. Sessões carregadas do registro são marcadas [registry]. Quando PuTTY estiver verificando a chave do host ssh e não a encontrar no arquivo, mas no registro, você pode mover/copiar a chave para o arquivo (ou, claro, não fazer nada).
O pageant carrega a lista de sessões salvas do caminho definido em putty.conf, padrão é ./sessions/packedSessionName
- funciona da mesma forma que PuTTY (incluindo a configuração keysuffix
).
ChangeLog
Este PuTTY ainda está evoluindo, desde a primeira versão simples, eu adicionei alguns recursos e corrigi alguns bugs. Então eu acabei de começar a numerar versões. Todas as alterações, recursos e correções de bugs serão exibidos aqui.
- 24. 11. 2005 - primeira versão 0.1.1
- 22. 3. 2006 - PSCP, PSFTP compilado & adicionado
- 22. 3. 2006 - Pageant fixo para trabalhar com
sessionsuffix
corretamente (versão 0.1.2) - 7. 8. 2006 - PSCP fixo ao carregar configurações inexistentes silenciosamente & erro de identificador nulo corrigido (versão 0.1.3)
- 9. 8. 2006 - muito melhor "putty.exe diretorio" detecção adicionada (versão 0.1.5)
- 29. 9. 2006 - PLINK compilado & adicionado
- 9. 1. 2007 - fixado para salvar / carregar configurações padrão (versão 0.1.6)
- 25. 1. 2007 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.59 & Vazamento de memória menor corrigido (versão 0.2)
- 24. 3. 2007 - Suporte para variáveis de ambiente no arquivo de configuração & limpeza do código (versão 0.2.1)
- 1. 5. 2007 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.60 (versão 0.3)
- 15. 10. 2007 - Exibição fixa "." e ".." sessões na lista de sessões (versão 0.3.1)
- 6. 3. 2008 - falha fixa se arquivo de configuração não termina com linha em branco (versão 0.3.2)
- 12. 8. 2008 - desde agora: mudança no manuseio putty.conf e diretórios funcionais / executáveis
- 4. 9. 2008 - O pageant inicia o putty.exe em seu diretório de trabalho (pageant) & XP e Vista estilos visuais suportados (versão 0.3.5)
- 28. 7. 2009 - Sessão fixa quando sessionuffix definido em PuTTY (versão 0.3.6)
- 4. 9. 2009 - Se a sessão não for encontrada no disco, tente no registro (para suporte ao WinSCP), bug menor fixo com o Current Directory (versão 0.3.7)
- 7. 11. 2009 - Suporte para variáveis de ambiente em arquivos de sessão (versão 0.3.8)
- 12. 1. 2010 - Carregamento fixo da sessão com nomes que contenham dois pontos (:) e outros caracteres estranhos (versão 0.3.9)
- 24. 8. 2011 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.61 (versão 0.4), suporte para Win7 jumplist
- 23. 2. 2012 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.62 (versão 0.5)
- 8. 9. 2013 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.63 (versão 0.6)
- 13. 9. 2013 - Corrigido o erro do código de mesclagem com 063 - carregando sessões do registro fixo (versão 0.6.1)
- 8. 3. 2015 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.64 (versão 0.7), arquivos de sessão são filtrados por sessionsuffix
- 27. 9. 2015 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.65 (versão 0.8)
- 27. 9. 2015 - Actualização: este PuTTY modificado baseia-se agora no PuTTY Development snapshot 2015-09-27.acff0a6 para fornecer algumas novas cifras, p. Ed25519 curvas e chacha20. (Versão 0.8.1)
- 18. 11. 2015 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.66 (versão 0.9)
- 6. 12. 2015 - Actualização: este PuTTY modificado baseia-se agora no PuTTY Development snapshot 2015-11-30.1659cf3 para fornecer algumas novas cifras, p. Ed25519 curvas e chacha20. (Versão 0.9.1)
- 19. 3. 2016 - Atualização: este PuTTY modificado agora é baseado no PuTTY 0.67 (versão 0.10.0) e no Development snapshot 2016_03_18.0fadffe
- 6. 11. 2016 - Recompilado no modo de depuração para evitar falsos positivos do Overcautious Antivirus SW
- 20. 3. 2017 - Atualização: este PuTTY modificado agora é baseado em PuTTY 0.68 (versão 0.11.0)
Baixar
Você pode obter binários aqui. Se você mesmo quiser compilar - baixe a fonte PuTTY para win32 de página de download da PuTTY e substitua winpgnt.c e winstore.c.- Tudo-em-um arquivo ZIP com código-fonte - baseado em PuTTY estável 0.68
- Tudo em um arquivo ZIP com código-fonte - baseado em PuTTY estável 0.67 - Escanear com virustotal.com logo após compilar
- Arquivo ZIP todo-em-um com código-fonte - baseado no snapshot de desenvolvimento 2016_03_18.0fadffe - Escanear com virustotal.com logo após compilar
Obrigado
Agradecimentos a Sebastian Juerges, a Sebastian Królak, a Scott Akesson, a Przemysław Sztoch, a James Hoffman, a Jones Down, a Harold Hunt, a Dmitry Gromov, a Gorkum L. van, a Kyle Brazell, a Sergey Makarenko, a Anthony Valentine, a Jason K Larson, a tzeentch ea Quip por testes e Idéias.