Tornando o ssh mais fácil para nossa comunidade de usuários do Windows

6

Eu trabalho em um ambiente acadêmico onde estamos fornecendo uma variedade de recursos de computação acessíveis por ssh. Também fornecemos git hospedagem de repositório, e exigimos o ssh para acesso de leitura / gravação aos repositórios.

Nossas instruções para usuários do OS X e Linux são relativamente simples e, o mais importante, consistentes - tanto com o OS X quanto com a maioria das distribuições Linux modernas, OpenSSH é incluído imediatamente e, mais importante, ssh-agent está pré-configurado para ser executado sempre que uma sessão da área de trabalho estiver ativa. Em geral, incentivamos as pessoas a atribuírem senhas às suas chaves, para que a vida sem um agente de autenticação possa se tornar irritante rapidamente.

Nossas soluções para usuários do Windows estão no momento mais fragmentadas e mais complicadas em geral. Historicamente, as pessoas têm usado o PuTTY , mas isso requer etapas extras para produzir chaves compatíveis com o OpenSSH. Isso também torna mais difícil - embora não, eu percebo, impossível - usar as ferramentas de linha de comando git , que funciona melhor com o OpenSSH ao interagir com repositórios acessíveis por ssh.

Gostaríamos de ter pessoas instalando o msysgit , mas estamos buscando uma boa maneira de integrar ssh-agent no ambiente de área de trabalho do Windows. A solução mais comum é iniciar o agente por meio de entradas em .bashrc , mas isso parece ser hacky na melhor das hipóteses, e isso significa que precisamos orientar usuários em grande parte não técnicos no processo de edição de .bashrc no Windows. p>

Uma complicação adicional é que WinSCP é frequentemente usado como uma ferramenta de transferência de arquivos - e é claro que isso não vai falar com ssh-agent . Ele falará com pagent , do pessoal do PuTTY, mas pagent não fala ssh-agent , então não funcionará na linha de comando.

O que outras pessoas fizeram para fornecer um ambiente consistente para usuários em diferentes plataformas? Você acabou de levantar as mãos e decidiu manter um conjunto separado de documentos para usuários do Windows?

UPDATE

Eu encontrei dois programas que funcionam como um shim entre o OpenSSH e o pagent. Você tem alguma experiência com charade ou ssh-pagent ?

    
por larsks 01.05.2012 / 02:51

2 respostas

1

Eu sugiro usar o Cygwin e instalar o SSH por meio disso. Então você pode configurar o ssh-agent e até mesmo configurá-lo automaticamente com scripts de shell. Dessa forma, você pode usar o SSH quase como se estivesse usando-o no Linux, em vez de usar o PuTTY ou msysgit. Além disso, você tem a vantagem de poder automatizar coisas com scripts de shell e Cygwin. Aqui é apenas um dos muitos scripts diferentes de ssh-agent que encontrei para obtê-lo trabalhando com o Cygwin. Além disso, acho que a configuração e a instalação do Cygwin são muito flexíveis. Como ele faz o download de arquivos a partir de um espelho e o coloca na raiz da sua unidade C :, estou quase certo de que você pode pegar essa instalação e distribuí-la para outras pessoas apenas dando-lhes uma cópia do diretório. Eu não testei essa parte eu mesmo embora ...

    
por 01.05.2012 / 17:48
1

Eu não estou familiarizado com o msysgit, mas ele pode usar o plink do PuTTY? Se você não sabe, plink é um simples cliente de linha de comando ssh, e ele pode usar o Pageant para autenticar.

Atualização: Sim, você deve fornecer documentação diferente para os usuários do Windows. (A menos que você pense que os usuários do Windows usarão o OpenSSH para algo diferente de git access.) Acho que você está tentando forçar uma equivalência que não existe. Parece-me que você está tentando "[tornar] o ssh mais fácil" tornando-o mais difícil.

    
por 01.05.2012 / 05:24

Tags