Instalando o SSH via Cygwin

3

Eu tenho um laptop com o windows 8. Estou tentando configurar o SSH deste laptop para um servidor windows 2012 via Cygwin64.

Eu segui os passos conforme descrito aqui .

No entanto, quando estou no passo: ssh-user-config , recebo o erro:

ERROR: There is no home directory set for you in /etc/passwd.<br>
ERROR: Setting $HOME is not sufficient!

Na minha pasta de instalação do Cygwin64, vejo um diretório em casa com um usuário que é copiado do usuário do Windows com o qual estou logado (digamos que esse usuário seja bacana).

Eu também vejo um arquivo cygwin64/etc/passwd - mas no arquivo meu usuário do windows (nifty) não está presente.

A única linha que vejo é:

[computername]+sshd:*:197610:197121:[computername]\sshd,S-1-5-21-1837826546-2281981055-3577963604-1002:/var/empty:/bin/false

Eu tentei adicionar manualmente o arquivo passwd, inserindo:

nifty:*:1:1:/home/nifty:/bin/bash/

Eu também tentei adicionar:

[computername]++sshd:*:1:1::/home/swuyts:/bin/bash

Quando pesquisando, a única coisa que eu vejo é tentar executar este comando:

mkpasswd -l -u >> /etc/passwd

Eu notei que isso adiciona algumas contas presentes no Windows (como o grupo de administradores, a conta do sistema e o cyg_server criado a partir da etapa acima), mas isso não me ajuda a permitir que eu execute ssh-user-config.

Alguém pode me explicar como proceder?

    
por user1186098 15.02.2015 / 16:14

2 respostas

2

Este é um problema temporário. O script ssh-user-config precisa de uma correção.

O motivo pelo qual o tutorial "How To Geek" não corresponde à sua experiência é que a versão mais recente do Cygwin (1.7.34) eliminou /etc/passwd e /etc/group na instalação padrão. É possível recriá-las, como você eventualmente descobriu, mas se elas não estiverem presentes, a DLL do Cygwin usa os bancos de dados de usuários / grupos nativos do Windows: AD se presente, ou SAM se não.

Este script está fazendo uma suposição ultrapassada, sendo que ele pode apenas executar o conteúdo de /etc/passwd a awk para responder a perguntas.

O Cygwin recentemente recebeu um novo programa getent(1) , que funciona como o do Linux, abstraindo as diferenças entre os arquivos /etc , AD e SAM. O script só precisa de patches para usar essa ferramenta, em vez de analisar /etc files.

Como dizemos nas listas de discussão do Cygwin, PTC !

    
por 15.02.2015 / 19:19
0

Por favor, tente executar novamente o setup.exe para atualizar para o openssh-6.7p1-2 . Isso deve corrigir seu problema.

Além disso, a origem do problema ( setup.exe escolhendo a versão "anterior" para a primeira instalação de um pacote em vez do atual) foi resolvida.

    
por 18.02.2015 / 14:37

Tags