[Réseaux] Instalação de um servidor ssh no Windows

última modificação em 10 de Julho de 2009 às 11:03 por pintuda
Publicado por pintuda
Este artigo explicará como instalar e configurar um servidor ssh no Windows.


Resumo



Introdução


Escolha do software


Eu escolhi o servidor Openssh de Cygwin, visto que http://sshwindows.sourceforge.net
Não é atualizado com frequência.
Cygwin mantém seus pacotes atualizados, o que é bem significativo no que diz respeito à segurança.
Além disso, o instalador Cygwin possibilita a atualização OpenSSH, openssl e todas as bibliotecas sem necessidade de reinstalação.

OS necessário


Windows 2000, XP ou 2003.
(Esta instalação não pode ser feita no Windows 95/98/ME.)
Também funciona no XP Home (Edição Familiar).

Ferramentas utilizadas


OpenSSH (pela shell e o instalador Cygwin)

Antes de começar


Se você tiver medo de efetuar as seguintes manipulações, utilize o servidor ssh Cygwin pré-embalado CopSSH: http://www.itefix.no/...
Porém, saiba que este pacote é susceptível de interferir com Cygwin se ele já está presente e lida apenas com os usuários locais.

Nota importante


A instalação de um servidor ssh no Windows não é totalmente segura.
É sériamente desaconselhál instalar um servidor ssh como este no Windows numa máquina de produção.
Se você precisa de um servidor ssh seguro, utilize o Unix, Linux ou BSD. É bem mais fiável, sem comparação (sem DLL de emulação de uma parte de um sistema operacional (cygwin.dll), nenhum mapeamento errado entre os direitos do Windows e do Unix, nenhum serviço executado com um usuário cujos direitos sejam dúbios ,nenhum de pseudo-shell Unix...)

Você foi prevenido.

Nota do autor (sebsauvage)


Inútil me enviar um e-mail para pedir ajuda para esta instalação. Eu não responderei. Este documento está bem detalhado.
Se não funcionar é porque você deve, provavelmente ter cometido um erro. 99% dos problemas que pude ver, foram causados pela leitura, apressada, deste documento.
Leia bem as mensagens que aparecem no ecrã.
Não continue a instalação, sem pensar, se um alerta de erro aparece : resolva primeiro o problema, antes de continuar.

I – Instalação do Cygwin


Baixe o instalador Cygwin (setup.exe) do http://www.cygwin.com/ e execute.
  • Janela "Choose installation type": Escolha "Install from internet"
  • Janela "Choose Installation Directory": Deixe todos os valores padrão.
  • Janela "Select Local Package directory": Deixe os valores padrão. (Os arquivos de install cygwin serão colocados em um subdiretório do setup.exe)
  • Janela "Selection connection type": Entre eventuais configurações do proxy se você utilizar um.
  • Janela "Choose Download Site(s)": Escolha um site de download próximo de sua casa. Por exemplo, na Bélgica, escolha os servidores em .be. Na França, escolha os servidores em .fr. No pior dos casos, escolha servidores de países vizinhos (exemplo: .da (Alemanha) para a França).
  • Janela "Select packages", clique no botão "View" para ver a lista dos pacotes.
  • Desça na lista para encontrar "openssh: The OpenSSH server and client programs" e clique na palavra "Skip" para selecionar este pacote. A palavra "Skip" deve, então, ser substituída pela versão do openssh (por exemplo "4.2p1-1"). Outros pacotes serão selecionados, automaticamente. Clique em "Next": O download vai começar. (mais ou menos 17 Mo vão ser baixados.)
  • Janela "Create icons": clique em "Finish".


A instalação do Cygwin terminou.

II – Configuração do servidor ssh


Modificão do ambiente

  • Clique com o lado direito do mouse na área de trabalho > "Propriedades" > "Avançado" > "Variáveis do ambiente" > "Variáveis do sistema".
  • Clique em "Novo" e, entre a variável : CYGWIN ; valor : ntsec tty
  • Selecione PATH na lista, clique em "Editar" e adicione : ;C:\Cygwin\bin no fim do caminho.

II.1 Criação de grupos e usuários

  • Abra a janela Cygwin.
  • Crie os usuários e os grupos:
    • Users : mkpasswd -l > /etc/passwd
    • Grupos : mkgroup -l > /etc/group
    • Isto levará em conta os usuários e grupos do Windows e criá-los em arquivos Cygwin correspondentes.
    • « -l » é um L MINÚSCULO e não o número 1.
    • Para utilizar os grupos/ usuários do domínio (em vez do local), substitua « -l » por « -d »
    • Para adicionar um usuário preciso, utilize « -u ». Exemplo: mkpasswd -u johnny -l > /etc/passwd
    • Controle bem o conteúdo dos arquivos passwd and group. Se estes arquivos estiverem vazios, o servidor ssh não funcionará.
    • Se um usuário E SEU GRUPO não forem declarados nestes 2 arquivos, ele nõ poderá se conectar.
    • Se um alerta de erro aparecer no mkpasswd ou mkgroup, inútil continuar a instalação : resolva este problema, antes de continuar.
  • Execute: ssh-host-config -y. Pode ser que ele peça uma senha para a criação de um usuário "sshd_server" (por exemplo, no Windows 2003). Éle o usuário que será sera utilizado para fazer funcionar o serviço sshd.
  • Quando for pedido "CYGWIN=", entre : ntsec tty. Com iIsto será criado o serviço sshd no Windows. Ele aparecerá sob o nome "CYGWIN sshd" na lista dos serviços. Em princípio, ele será configurado para iniciar automaticamente mas, ele ainda não foi iniciado.

III - Lançamento do serviço sshd e teste


Iniciar o serviço


Utilize o comando net start sshd cygrunsrv -S sshd.
Note que o serviço iniciará automaticamente no próximo arranque do Windows ; você não precisará mais digitar este comando.
Se o serviço não se iniciar, veja o conteúdo do arquivo C:\cygwin\var\log\sshd.log
De acordo com as instalações, você poderá fazer chown system /etc/ssh* e chown system /var/empty para que o serviço seja iniciado corretamente.

Testar o serviço


Utilize o cliente ssh fornecido com o cygwin: ssh monlogin@localhost.
Ou Putty (client ssh gratuito): http://www.chiark.greenend.org.uk/~sgtatham/putty/.
Na primeira conexão, o cliente ssh vai, provavelmente, te pedir para confirmar a chave.
A seguir, depois da senha, você deverá obter um shell.
Você poderá ver a conexão gitando : echo $SSH_CONNECTION
(Porta 22 = seu servidor ssh)

Observações


Gestão dos usuários


Qualquer usuário indicado no /etc/passwd poderá se identificar no servidor ssh. Você pode, então, limitar a lista dos usuários passíveis de se conectar no servidor ssh, alterando o arquivo C:\cygwin\etc\passwd

Nota : você deve deixar os usuários sshd e sshd_server. O servidor ssh precisa disso.

Acesso aos discos Windows


Não esqueça que no shell Cygwin, você pode acessar aos seus discos Windows, por exemplo : /cygdrive/c para acessar o C: (e, assim por diante, para os outros leitores.)

Utilizações


Além do shell, é claro que você poderá utilizar o seu servidor ssh para a transferência segura de arquivos (scp/sftp).
No Windows, pode-se encontrar clientes scp/sftp gratuitos :

O servidor SSH também pode criar um túnel para você, qualquer protocolo baseado no TCP. (Para ser preciso, é igual a uma porta-forwarding distant). Exemplo, para estabelecer um túnel :

Sua máquina -----> cliente ssh local (port 777) -----> servidor ssh (porta 22) ----> pop.free.fr (porta 110).

Entraríamos o seguinte comando :
ssh -L 777:pop.free.fr:110 monLogin@monServeurSsh

Depois, basta conectar seu software de e-mail no localhost:777 em vez de pop.free.fr:110 : ssh estabelecerá um túnel, em direção ao pop.free.fr, porta 110.
Assim, você poderá ler seus e-mails no localhost:777.
Isto pode ser útil para traversar redes que não são seguras (por exemplo, tudo aquilo que existe entre sua máquina e o servidor ssh).

Segurança


Para completar esta instalação, é preciso ajustar os direitos de acesso aos arquivos do usuário utilizado para executar o serviço sshd a fim de melhorar a segurança.

Pense em executar, de vez em quando, o instalador Cygwin para atualizar openssh e openssl. (Pare o le serviço antes de fazer esta atualização). Com isto, você benificiará de atualizações de segurança do openssh e do openssl.

Links


A redação deste documento foi facilitada pela ajuda de : http://www.cs.princeton.edu/~sudhakar/linux/cache/cygwin-sshd.html (em inglês).

Artigo original publicado por sebsauvage
Melhores respostas por « Instalação de um servidor ssh no Windows » em :
Ataque man in the middle Ver Ataque do protocolo ARP Um dos ataques man in the middle mais famoso consiste em explorar uma falha do protocolo ARP (Address Resolution Protocol) cujo objectivo é permitir reencontrar o endereço IP de uma máquina que conheça o endereço...
Ataque man in the middle Ver Ataque man in the middle O ataque “man in the middle” (literalmente “ataque do homem no meio” ou “ataques do interceptor”), às vezes chamado MITM, é um cenário de ataque no qual um pirata ouve uma comunicação entre dois interlocutores e...
Truques e Dicas para MSN Messenger VerTruques e Dicas para MSN Messenger Para começar eu sugiro este site que contêm muitas dicas para tornar o MSN mais agradavel : Versão 7.5 minima requerida com Messenger Plus ! Colorir seu pseudônimo Colorir sua mensagem pessoal Colocar...
Restaurar Windows Vista VerA restauração do sistema ajuda, de uma certa maneira, a voltar no tempo e eliminar os problemas encontrados no seu PC (especificamente, os problemas de « soft » (softwares e pilotos)). No Vista, existem 3 possibilidades para restaurar o seu PC....
CMOS CHECKSUM ERROR - DEFAULT LOADED VerNo arranque de seu computador estas frazes são afixadas : CMOS wrong CMOS MEMORY size WRONG CMOS Checksum Bad CMOS checksum error defaults loaded Warning! CPU has been changed please re-enter cpu settings in the cmos setup and remember to...
Download Topaz DeJPEG Plug-in VerTopaz DeJPEG é um plug-in compatível com Photoshop e outros editores gráficos similares que permite eliminar os contornos e outros elementos não desejados que acrescenta compressão no formato JPEG . O plugin executa-se desde o menú correspondente...
Partilhar uma ligação à Internet VerInteresse Se possuir uma rede local (dois computadores ou mais ligados em rede), um dos quais ligados à Internet (através de um modem, por cabo,…), pode ser interessante tornar a conexão acessível aos outros computadores da rede local...
Os Easter Eggs VerO que é um Easter Egg? “Easter egg” é um nome inglês que significa literalmente “ovo da Páscoa”. É com efeito o nome que foi dado às facécias dos programadores, que se divertem a acrescentar pequenas características inúteis mas divertidas...
Wowexec - wowexec.exe Verwowexec - wowexec.exe O processo wowexec.exe (wowexec significa Window ele Window Execution) é um processo genérico do Windows NT/2000/XP que serve para fornecer o suporte para as antigas aplicações Windows 16-bits. O processo winlogon é...