CentOS está ignorando mi clave pública

8

Estoy tratando de conectarme a mi propio servidor CentOS usando SSH; Puedo conectarme bien con una contraseña; Estoy intentando conectarme con mi clave pública, pero el servidor no intenta la autenticación de clave pública. Seguí todas las instrucciones de esta página en la wiki de CentOS y verifiqué lo siguiente:

  • Estoy ejecutando CentOS 6.0 o posterior

  • Mi sshd_config tiene lo siguiente:

    PermitRootLogin no
    PubkeyAuthentication Yes
    RSAAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    
  • He creado una clave privada en la carpeta .ssh / en mi directorio de inicio en el cliente

  • El texto completo de la clave pública (generado por ssh-keygen) ocupa una sola línea en el archivo .ssh / Authorizedkeys en mi directorio de inicio en el servidor.
  • Tengo los siguientes modos de permiso configurados tanto en el cliente como en el servidor:

    chmod 700 .ssh
    chmod 600 .ssh/*
    
Me gusta la comida
fuente

Respuestas:

13

Según este informe de problema en el sitio web de CentOS, esto es causado por una "característica" en sentido ascendente en SELinux; si SELinux está aplicando, evitará que el servidor use la autenticación de clave pública. No hay indicios de que este comportamiento cambie en el futuro cercano. Para ver si este problema se aplica a usted, escriba sestatusy vea si informa "Modo actual" como enforcing.

Sé de dos soluciones alternativas.

  • Puede configurar SELinux en modo permisivo. Escriba setenforce 0para cambiar la política de inmediato, y luego abra /etc/selinux/configy asegúrese SELINUX=permissive.
  • Restaurar el archivo al contexto de seguridad correcto:

    restorecon -R -v ~$USER/.ssh
    
Me gusta la comida
fuente
¿Era este realmente el problema?
Andy Shinn
Lo fue, aunque mi administrador de sistemas me dijo más tarde que se suponía que SELinux no se estaba ejecutando en primer lugar.
ILikeFood