Estoy configurando un pequeño servidor OpenSSH para poder acceder a archivos importantes sin tener que sentarme directamente frente a la computadora de mi casa. He configurado completamente el servidor con éxito, pero ahora quiero configurar la autenticación de clave (para que sea un poco más difícil para alguien entrar).
Copié las claves de mi configuración de Lubuntu, las copié a mi máquina con Windows y las convertí al .ppk
formato conputtygen. En la SSH -> Auth
sección, seleccioné mi RSA.ppk
archivo clave, guardé la configuración e inicié sesión en el servidor. Ingreso mi nombre de usuario, pero luego recibo el resultado: Server refused our key
.
He descomentado las HostKey
líneas de RSA
, ECDSA
y ED25519
en mi sshd_config
. No sé qué más se supone que debo hacer.
Respuesta1
Usando PuTTYgen, creé un par de claves públicas/privadas aleatorias y pegué el texto en el cuadro de salida en el ~/.ssh/authorized_keys
archivo. La autenticación de archivos clave funciona perfectamente.
Respuesta2
SSH utiliza dos conjuntos diferentes de claves asimétricas (privadas/públicas): una para autenticar el host/servidor ante los clientes y, opcionalmente, otra diferente para autenticar un cliente ante el host/servidor.
La HostKey
configuración sshd_config
es para las claves del host, no para ningún cliente. La directiva sshd_config
que habilita la autenticación de clave pública para los clientes es PubKeyAuthentication
, pero no es necesario especificarla (ni normalmente descomentarla) porque está activada de forma predeterminada.
Deberia de funcionar, y lo hace por mí, para convertir una clave generada por OpenSSH con PuTTYgen y usarla en PuTTY como lo describiste, peroSOLOsi es ~/.ssh/authorized_keys
para el usuario apropiado (*), esto es necesario para CUALQUIER clave de cliente, sin importar dónde o cómo se genere. Generar una clave en un sistema Unix no la agrega automáticamente a authorized_keys
ese sistema (ya que normalmente no necesitas ssh para acceder a un sistema en el que ya estás) ni a ningún otro sistema (ya que este sistema no puede saber qué otros sistemas estás usando). deseen acceder, incluso quizás varios años en el futuro). Menciona agregar authorized_keys
solo para su nueva clave generada por PuTTYgen, no para la generada por Unix y convertida por PuTTYgen.
(*) u otra ubicación si se especifica en AuthorizedKeysFile
pero sshd_config
eso es raro