Pergunta

Sou fã do Linux, mas devido aos drivers sem fio Intel Bad no Linux, tive que mudar para o Windows 7. Instalei o Cygwin no Windows e quero configurar o SSH para conectar remotamente meu laptop.

Eu procurei com o Google e encontrei Informações para instalar o OpenSsh Server no Win 7, mas estou recebendo o seguinte erro ao executar ssh-host-config:

bala@bala-PC ~
$ ssh-host-config
yes
*** Info: Creating default /etc/ssh_config file
*** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes
*** Info: Creating default /etc/sshd_config file
*** Info: Privilege separation is set to yes by default since OpenSSH 3.3.
*** Info: However, this requires a non-privileged account called 'sshd'.
*** Info: For more info on privilege separation read /usr/share/doc/openssh/READ
ME.privsep.
*** Query: Should privilege separation be used? (yes/no) no
*** Info: Updating /etc/sshd_config file

*** Warning: The following functions require administrator privileges!

*** Query: Do you want to install sshd as a service?
*** Query: (Say "no" if it is already installed as a service) (yes/no) yes
*** Query: Enter the value of CYGWIN for the daemon: []
*** Info: On Windows Server 2003, Windows Vista, and above, the
*** Info: SYSTEM account cannot setuid to other users -- a capability
*** Info: sshd requires.  You need to have or to create a privileged
*** Info: account.  This script will help you do so.

*** Warning: The owner and the Administrators need
*** Warning: to have .w. permission to /var/run.
*** Warning: Here are the current permissions and ACLS:
*** Warning:     drwxr-xr-x 1 bala None 0 2010-01-17 22:34 /var/run
*** Warning:     # file: /var/run
*** Warning:     # owner: bala
*** Warning:     # group: None
*** Warning:     user::rwx
*** Warning:     group::r-x
*** Warning:     other:r-x
*** Warning:     mask:rwx
*** Warning:
*** Warning: Please change the user and/or group ownership,
*** Warning: permissions, or ACLs of /var/run.

*** ERROR: Problem with /var/run directory. Exiting.

As permissões desta pasta são mostradas apenas como leitura (se aplica apenas a esta pasta), verificadas em cinza. Tentei desmarcar, mas depois de abrir as propriedades novamente, a caixa é novamente verificada. Existe uma maneira de alterar as permissões desta pasta?

Foi útil?

Solução

Estou executando o Cygwin 1.7 no Windows 7 x64 e sshd. Não me lembro de receber esse erro quando executei sshd_config, mas apenas olhei para o meu diretório /var /run e ele está definido como 777.

Experimente isso em uma concha de cygwin chmod 777 /var/run

Outras dicas

Desculpe por uma discussão tão antiga, mas essa pergunta sempre surgiu quando eu pesquisei esse problema específico.

Depois de alguns meses, finalmente encontrei uma solução. Quando configurei o Cygwin, não tinha minhas contas de usuário e grupo criadas corretamente no Cygwin. A principal maneira de fazer isso é executar:

mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group

Se você estiver fazendo login usando um usuário de domínio e passagem, você pode fazer:

mkpasswd -l -d > /etc/passwd 
mkgroup -l -d > /etc/group

Ou, se você tem uma rede incrivelmente grande como a minha, pode não querer isso. Uma alternativa é apenas usar os usuários e o grupo local, além de qualquer pessoa que você esteja conectada atualmente como:

mkpasswd -l > /etc/passwd
mkpasswd -c >> /etc/passwd
mkgroup -l > /etc/group
mkgroup -c >> /etc/group

Depois de fazer isso, finalmente consegui executar o SSH-Host-Config corretamente para criar o serviço.

Eu tive muitos problemas com isso sozinho. Descobri que as etapas de instalação padrão funcionam bem, desde que eu:

  1. Inicie o shell Cygwin como usuário administrativo com a opção "Run como administrador".
  2. UAC desabilitou.
  3. Ter proteção contra vírus em tempo real desativada.

Depois que essas etapas forem tomadas, as etapas de instalação padrão são:

  1. Instale "OpenSsh" no instalador do Cygwin.
  2. Inicie o shell Cygwin como usuário administrativo com a opção "Run como administrador".
  3. Execute "ssh-host-config" do shell cygwin.
  4. Separação de privilégios: sim
  5. Nova conta local "sshd": sim
  6. Instale o SSHD como serviço: sim
  7. Valor de Cygwin: NTSectty
  8. Nome diferente para "cyg_server": não
  9. Crie uma nova conta de usuário privilegiada "CYG_SERVER": sim
  10. Defina a senha "cyg_server" e mantenha em um local seguro
  11. Iniciar líquido sshd

Depois disso, tudo parece funcionar bem no Windows 7 Professional e em casa.

Se você já possui uma instalação com falha no Cygwin SSHD, pode ser melhor fazer uma desinstalação completa e começar a fresco.

Aqui estão as instruções de desinstalação de cygwin se você precisar delas: http://cygwin.com/faq/faq.html#faq.setup.uninstall-all

Eu tive que remover a instalação quebrada:

cygrunsrv --remove sshd
rm -rf /var/log/sshd* /etc/ssh_host* /etc/sshd_config /var/empty

Em seguida, gerar Passwd e agrupar como mencionado acima:

mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group

Então eu corri:

ssh-host-config -y
cygrunsrv --start sshd

e, finalmente, as mensagens "falhas falhadas no setuid" desaparecem e o login funcionou.

Em uma concha de cygwin, verifique se você é um administrador então:

takeown /F "C:\cygwin" /R
icacls "C:\cygwin" /grant Everyone:\(F\) /T
icacls "C:\cygwin"
chmod 777 -R "c:\cygwin"

No Windows Explorer, para pasta /var:

Propriedades.
Segurança.
Adicione administradores de grupo com controle total para a pasta e subpastas.

Funciona para mim.

Só consegui executar o script SSH-Host-Config com sucesso quando instalei o Cygwin em um disco rígido do tipo NTFS. O script SSH-HOST-Config não funcionou quando eu instalei o Cygwin em uma unidade flash do tipo Exfat.

Eu estava tendo o mesmo problema. Meu problema, acredito, foi porque eu tinha um arquivo personalizado /etc /fstab, onde estava montando a pasta raiz com a opção "Noacl". Aqui está como eu resolvi o problema:

  1. Mova o costume /etc /fstab para fora do caminho:

     mv /etc/fstab /etc/fstab.bak
    

    Como alternativa, você pode editar seu arquivo /etc /fstab e remover a opção NOACL.

  2. Feche todas as janelas da Cygwin Bash e quaisquer outros processos ou serviços de Cygwin. Se você tiver algum processo de cygwin em execução, ele manterá as coisas montadas com as configurações antigas /etc /fstab.

  3. Inicie uma nova janela do Cygwin Bash.

  4. Pode ser necessário executar o seguinte.

    chmod +r /etc/passwd
    chmod o+x /var
    chmod +w /var/run
    
  5. Atravesse os dedos, execute o ssh-host-config e agora deve ser concluído sem erros.

  6. Se você moveu seu /etc /fstab na etapa 1, poderá movê -lo de volta agora:

     mv /etc/fstab.bak /etc/fstab
    
  7. Se você criou novos usuários depois de instalar o Cygwin, Update /etc /passwd, caso contrário, esses usuários podem não poder fazer login via SSH:

    mkpasswd -l > /etc/passwd
    
  8. Além disso, acesse o Windows Firewall e permita c: /cygwin/usr/sbin/sshd.exe e c: /cygwin/usr/sbin/sftp-server.exe

Para os usuários do Windows, executam "Terminal de Cygwin"clicando com o botão direito do mouse no atalho e executando-o como administrador....enter image description here

Agora corra "ssh-host-config"Do terminal Cygwin ... ele definitivamente funcionará.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top