Resumo
Parece haver um bug no Win32-OpenSSH que impede que as cores sejam mostradas em determinados emuladores de terminal, como PuTTY e mintty.
O Win32-OpenSSH parece substituir a sequência de escape de cor "\ 033 [32m \ 033 [40mtest" por "\ 033 [0; 39; 24; 27; 32; 40; mtest" e o problema parece ser o último ponto e vírgula antes do m. Removendo este ponto-e-vírgula, as cores são exibidas corretamente.
Detalhes
Instalei o Win32-OpenSSH-Win64 (versão 0.0.24.0) de acordo com o link .
eu defino
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH\DefaultShell="C:\Program Files\GIT\bin\bash.exe"
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH\DefaultShellCommandOption="-c"
Fazendo login na minha máquina com
ssh localhost
Eu não obtenho saída colorida com PUTTY, e não com "Git Bash para Windows", mas eu obtenho cores com o "cmd.exe" nativo e com "Bash no Ubuntu no Subsistema para Linux" conectando ao mesmo local servidor.
O problema parece estar relacionado a seqüências de escape incomuns. O registro de todas as saídas da sessão no PuTTY mostra as seqüências de escape que são terminadas por um ponto-e-vírgula: "\ 033 [0; 39; 24; 27; 32; 40; mtest" e o PUTTY parece não ser capaz de manipulá-las. Seqüências de escape sem o ponto-e-vírgula final, por exemplo, "\ 033 [0; 39; 24; 27; 32; 40mtest" são manipuladas corretamente por PUTTY.
Essas seqüências de escape unusal parecem ser introduzidas pelo Win32-OpenSSH. Em contraste, o Servidor SSH Bitvise produz a seqüência de escape "\ 033 [32m \ 033 [40mtest".