ssh ainda aceita autenticação por senha apesar de estar configurado para autenticação somente de chave pública (o que funciona!)

5

Configurei uma instalação de desktop Ubuntu 10.04LTS para permitir somente a autenticação de chave pública.

RESULTADO: a autenticação de chave pública funciona perfeitamente!

PERGUNTA: O problema é que, apesar de estar configurado para aceitar apenas autenticação de chave pública, o cliente ainda aceita autenticação por senha - por quê?

É claro que posso usar algumas sugestões e ter seguido as sugestões aqui: ssh: ainda pode usar senha depois de definir a chave

Não há sucesso depois de seguir estas sugestões:

  • chmod 700 / home //. ssh
  • chmod 600 / home //. ssh / authorized_keys
  • adicionado ao / etc / ssh / ssh_config:
    • SenhaAuthentication no
    • ChallengeResponseAuthentication no
  • reiniciado sshd (comando: / usr / sbin / service ssh restart).

O arquivo / etc / ssh / ssh_config do cliente diz:

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
    RSAAuthentication yes
    PasswordAuthentication no
    PermitRootLogin no
    PubKeyAuthentication yes
    ChallengeResponseAuthentication no
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-c                                                    bc,3des-cbc
#   MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

Estou perdendo outra opção? Combinar talvez (embora isso pareça improvável de me ajudar)?

Obrigado.

    
por rfreytag 03.05.2011 / 17:48

3 respostas

16

/etc/ssh/ssh_config é para o cliente . Você deseja definir essas opções no arquivo de configuração servidor , que é /etc/ssh/sshd_config .

    
por 03.05.2011 / 17:58
0

Tente definir PreferredAuthentications apenas como publickey.

    
por 03.05.2011 / 17:51
0

Eu sei que essas perguntas são realmente antigas e foram respondidas, mas desde quando eu tive esse problema, esse foi o resultado de pesquisa número um do google, achei que colocaria as informações aqui.

Por algum motivo depois que eu mudei

PasswordAuthentication yes

para

PasswordAuthentication no

no meu arquivo sshd_config, ele ainda estava pedindo a senha.

Eu verifiquei tudo aqui e também corri

sudo /etc/init.d/ssh restart #or sshd

As mudanças no arquivo de configuração simplesmente não farão nenhuma diferença, então eu finalmente tentei apenas reinicializar a máquina, e isso funcionou. Eu acho que o /etc/init.d/ssh restart não estava funcionando por algum motivo? De qualquer forma, espero que isso ajude alguém.

    
por 21.05.2015 / 00:40