SO: Windows 7 x64
Cygwin: 1.7.15-1
OpenSSH: 6.0p1-1
Estou tentando instalar um servidor SSH no Windows 7. O tutorial que estou seguindo para fazer isso está aqui:http://www.howtogeek.com/howto/41560/how-to-get-ssh-command-line-access-to-windows-7-using-cygwin/
O problema é que ao executar o net start sshd
comando recebo a seguinte saída:
O serviço sshd CYGWIN está sendo iniciado. O serviço sshd CYGWIN não pôde ser iniciado.O serviço não relatou um erro.
Mais ajuda está disponível digitando NET HELPMSG 3534.
Aqui está o resultado completo da configuração:
AdminUser@EsteComputador ~ $ ssh-host-config *** Informações: Gerando /etc/ssh_host_key *** Informações: Gerando /etc/ssh_host_rsa_key *** Informações: Gerando /etc/ssh_host_dsa_key *** Informações: Gerando /etc/ssh_host_ecdsa_key *** Informações: Criando arquivo /etc/ssh_config padrão *** Informações: Criando arquivo /etc/sshd_config padrão *** Informação: A separação de privilégios é definida como sim por padrão desde o OpenSSH 3.3. *** Informações: No entanto, isso requer uma conta sem privilégios chamada 'sshd'. *** Informações: Para obter mais informações sobre separação de privilégios, leia /usr/share/doc/openssh/README.privsep. *** Consulta: A separação de privilégios deve ser usada? (sim/não) sim *** Informações: Observe que a criação de um novo usuário requer que a conta atual tenha *** Informações: privilégios de administrador. Este script deve tentar criar um *** Consulta: nova conta local 'sshd'? (sim/não) sim *** Informações: Atualizando arquivo /etc/sshd_config *** Consulta: Deseja instalar o sshd como serviço? *** Consulta: (Diga "não" se já estiver instalado como serviço) (sim/não) sim *** Consulta: Insira o valor de CYGWIN para o daemon: [] *** Informações: No Windows Server 2003, Windows Vista e superior, o *** Informações: a conta SYSTEM não pode ser configurada para outros usuários - um recurso *** Informações: sshd requer. Você precisa ter ou criar um privilégio *** Informações: conta. Este script irá ajudá-lo a fazer isso. *** Informações: Parece que você está executando o Windows XP de 64 bits, Windows 2003 Server, *** Informações: ou posterior. Nestes sistemas, não é possível usar o LocalSystem *** Informações: conta para serviços que podem alterar o ID do usuário sem *** Informações: senha explícita (como logins sem senha [por exemplo, chave pública *** Informações: autenticação] via sshd). *** Informações: Se você deseja ativar essa funcionalidade, é necessário criar *** Informações: uma nova conta com privilégios especiais (a menos que uma conta semelhante ***Informações: já existe). Esta conta é então usada para executar esses *** Informações: servidores. *** Informações: Observe que a criação de um novo usuário requer que a conta atual *** Informações: tenha privilégios de administrador. *** Informações: Nenhuma conta privilegiada foi encontrada. *** Informações: Este script planeja usar 'cyg_server'. *** Informação: 'cyg_server' só será utilizado por serviços cadastrados. *** Consulta: Deseja usar um nome diferente? (sim/não) não *** Consulta: Criar nova conta de usuário privilegiada 'cyg_server'? (sim/não) sim *** Informações: Por favor, insira uma senha para o novo usuário cyg_server. Por favor assegure-se *** Informação: que esta senha corresponde às regras de senha fornecidas em seu sistema. *** Informações: Não inserir nenhuma senha sairá da configuração. *** Consulta: Por favor digite a senha: *** Consulta: Digite novamente: *** Informação: O usuário 'cyg_server' foi criado com a senha '[CENSORED]'. *** Informações: Se você alterar a senha, lembre-se também de alterar a *** Informações: senha dos serviços instalados que utiliza (ou utilizará em breve) *** Informações: a conta 'cyg_server'. *** Informações: Lembre-se também de que o usuário 'cyg_server' precisa de permissões de leitura *** Informações: nos arquivos relevantes de todos os usuários para os serviços executados como 'cyg_server'. *** Informações: Em particular, para o servidor sshd .ssh/authorized_keys de todos os usuários *** Informações: os arquivos devem ter permissões apropriadas para permitir a chave pública *** Informações: autenticação. (Re-)executar ssh-user-config para cada usuário definirá *** Informações: essas permissões corretamente. [Aplicam-se restrições semelhantes, por *** Informações: por exemplo, para arquivos .rhosts se o servidor rshd estiver em execução, etc]. *** Informações: O serviço sshd foi instalado em 'cyg_server' *** Informações: conta. Para iniciar o serviço agora, chame `net start sshd' ou *** Informações: `cygrunsrv -S sshd'. Caso contrário, ele iniciará automaticamente *** Informações: após a próxima reinicialização. *** Informações: Configuração do host concluída. Divirta-se! AdminUser@EsteComputador ~ $ net start sshd O serviço sshd CYGWIN está sendo iniciado. O serviço sshd CYGWIN não pôde ser iniciado. O serviço não relatou um erro. Mais ajuda está disponível digitando NET HELPMSG 3534.
Observe que na linha *** Query: Enter the value of CYGWIN for the daemon: []
não inseri nada. Os tutoriais costumam dizer para usar ntsec
ou ntsec tty
aqui, mas essas opções foram removidas da versão mais recente do OpenSSH. Eu tentei usá-los de qualquer maneira e o resultado é o mesmo.
O arquivo /var/log/sshd.log
está vazio. Se eu tentar apenas executar o comando, /usr/sbin/sshd
obtenho a saída /var/empty must be owned by root and not group or world-writable.
. O diretório /var/empty possui as seguintes permissões: drwxr-xr-x+ 1 cyg_server root 0 May 29 15:28 empty
. As pesquisas do Google sobre esse erro não encontraram nenhuma correção funcional. Uma pessoa parece ter resolvido o problema usando o comando, chown SYSTEM /var/empty
mas isso não resolveu no meu caso.
Responder1
Tente desabilitar a separação de privilégios em/etc/sshd_config
Responder2
No Cygwin, /var/empty
deve ser de propriedadepelo usuário executandosshd
. (A menos que você desative a separação de privilégios!)
Deum e-mail útil para a lista de discussão Cygwin em 2012 por Corinna Vinschen
Normalmente, o sshd testa se /var/empty pertence ao uid 0. No Cygwin, onde geralmente não há usuário com uid 0,o código foi modificado para testar se /var/empty pertence ao usuário que executa o sshd. Portanto, se você iniciar o sshd na linha de comando, deverá chown /var/empty para a conta do usuário atual. O mesmo vale para os arquivos relacionados ao ssh em/etc. A mensagem de erro é a mensagem de erro do upstream vanilla. Não foi alterado para o Cygwin manter pequeno o conjunto de patches upstream relacionado ao Cygwin.
Responder3
No meu caso, tive um conflito com outro serviço. Instalei o teste do Bitvise para experimentar hospedar um servidor SSH.
Quando instalei o Cygwin OpenSSH, preciso desligar o serviço Bitvise para poder iniciar o Cygwin sshd.