Cómo saber si una clave SSH pública tiene una frase de contraseña

13

Esta es probablemente una pregunta novata, pero ¿cómo puedo determinar si la clave SSH pública que alguien me da tiene una frase de contraseña o no?

Tenemos una situación en la que no estoy generando las claves SSH para los usuarios, pero quiero asegurarme de que cada clave SSH que coloque en un servidor tenga una frase de contraseña, pero tengo la sensación de que la frase de contraseña es solo una parte de la clave privada.

¡Gracias!

Peter Sankauskas
fuente

Respuestas:

27

Esto no es algo que pueda determinar a partir de la mitad pública de la clave. Incluso si pudiera determinarlo, ¿qué impide que el usuario lo elimine posteriormente?

Cuando elimina la frase de contraseña del lado privado de la clave, el lado público no cambia.

James F
fuente
7

No puede saber si una clave privada tiene una frase de contraseña o no.

James
fuente
3
Más exactamente, las claves públicas no tienen frases de paso. Solo las claves privadas lo hacen.
Swoogan
-2

Creo que la frase de contraseña es un cifrado sincrónico de la clave privada, por lo que no afectaría a la clave pública. Técnicamente no afecta a ninguna de las claves, ya que simplemente está encriptando los datos de la clave privada.

Si tiene una política con respecto a la solicitud de frases de contraseña, es posible que también desee establecer una política con respecto a ssh-agent y el reenvío de agentes, ya que esto almacena el socket utilizado para acceder al proceso de ssh-agent en / tmp sin mucha seguridad fuera de los permisos de archivos Unix para proteger eso.

James
fuente
No creo que la clave se almacene sin cifrar en / tmp. Creo que está almacenado en la memoria en la máquina original en la que el usuario ingresó a la fase.
James
Lo sentimos, tienes razón, una clave no cifrada no almacenada en / tmp. El socket ssh-agent se almacena en / tmp y cualquier persona con permisos de Unix para acceder a dicho socket puede usar las claves que ssh-agent tiene para usted. Sigue siendo una preocupación de seguridad bastante importante.
James