Articulo de referencia

agente ssh

Secure Shell (SSH) es un protocolo que permite el inicio de sesión remoto seguro en un ordenador de una red mediante criptografía de clave pública . Los programas cliente SSH (c...

Secure Shell (SSH) es un protocolo que permite el inicio de sesión remoto seguro en un ordenador de una red mediante criptografía de clave pública . Los programas cliente SSH (como sshOpenSSH ) suelen ejecutarse durante la duración de una sesión de inicio de sesión remoto y están configurados para buscar la clave privada del usuario en un archivo en su directorio personal (por ejemplo, ). Para mayor seguridad (por ejemplo, contra un atacante que pueda leer cualquier archivo del sistema de archivos local), es común almacenar la clave privada cifrada, donde la clave de cifrado se calcula a partir de una contraseña que el usuario ha memorizado. [ 1 ] Dado que escribir la contraseña puede resultar tedioso, muchos usuarios prefieren introducirla solo una vez por sesión de inicio de sesión local. El lugar más seguro para almacenar la clave sin cifrar es la memoria del programa, y ​​en los sistemas operativos tipo Unix , la memoria normalmente está asociada a un proceso . Un proceso cliente SSH normal no puede utilizarse para almacenar la clave sin cifrar porque los procesos cliente SSH solo duran lo que dura una sesión de inicio de sesión remoto. Por lo tanto, los usuarios ejecutan un programa llamado ssh-agent que se ejecuta más allá de la duración de una sesión de inicio de sesión local, almacena claves sin cifrar en la memoria y se comunica con los clientes SSH mediante un socket de dominio Unix ..ssh/id_rsa

Problemas de seguridad

ssh-agentcrea un socket y luego verifica las conexiones desde ssh. Cualquiera que pueda conectarse a este socket también tiene acceso a ssh-agent. Los permisos se configuran como en un sistema Linux o Unix habitual . Cuando el agente se inicia, crea un nuevo directorio en /tmpcon permisos restrictivos. El socket se encuentra en este directorio.

Existe un procedimiento que puede impedir que el malware utilice el ssh-agentsocket. Si la ssh-add -copción está configurada cuando se importan las claves en el ssh-agent, entonces el agente solicita una confirmación del usuario mediante el programa especificado por la SSH_ASKPASSvariable de entorno , cada vez que sshintenta conectarse.

Los agentes SSH se pueden reenviar a un servidor al que te conectas, lo que hace que sus claves también estén disponibles allí para otras conexiones. En el sistema local, es importante que el usuario root sea de confianza, ya que, entre otras cosas, puede leer directamente el archivo de claves. En el sistema remoto, si la ssh-agentconexión se reenvía, también es importante que el usuario root del otro extremo sea de confianza, ya que puede acceder al socket del agente en el servidor remoto (aunque no a la clave, que permanece local).

Implementaciones

Existen muchos programas diferentes que realizan la misma función que el agente ssh de OpenSSH , algunos con interfaces de usuario muy diferentes. PuTTY , por ejemplo, utiliza una interfaz gráfica de usuario en su agente ssh Pageant incluido.

Existen herramientas diseñadas para proporcionar funcionalidad de agente de claves tanto para claves simétricas como asimétricas; estas suelen ofrecer la funcionalidad de agente SSH como una de sus interfaces de aplicación. Algunos ejemplos son GNOME Keyring y KWallet .

Algunos clientes SSH monolíticos incluyen la capacidad de recordar frases de contraseña SSH entre sesiones. Ejemplos de ello son: SecureCRT .

Apple macOS

En el sistema operativo macOS , ssh-agent se integró desde Leopard , versión 10.5 en 2007. Anteriormente, existían implementaciones de código abierto de terceros para ssh-agent. [ 2 ]

Microsoft Windows

Los programas cliente y servidor basados ​​en OpenSSH se han incluido en Windows 10 desde la versión 1803. El cliente SSH y el agente de claves están habilitados y disponibles de forma predeterminada, y el servidor SSH es una característica opcional a petición. [ 3 ] [ 4 ] [ 5 ]

Referencias

  1. "Entender las contraseñas SSH . microsoft.com . 4 de octubre de 2022. Consultado el 28 de febrero de 2025.
  2. Dribin, Dave (21 de agosto de 2007). "Advertencia sobre SSHKeychain" . Blog de Dave Dribin .
  3. Durr, Yosef (8 de marzo de 2018). "Novedades de la línea de comandos en Windows 10 versión 1803" . 2025-02-28 .
  4. Aiello, Joey (15 de diciembre de 2017). "Uso de OpenSSH Beta en Windows 10 Fall Creators Update y Windows Server 1709" . Recuperado el 28 de febrero de 2025 .
  5. Neumann, Saggi (3 de mayo de 2021). "Cómo crear claves SSH en Windows 10" . Recuperado el 28 de febrero de 2025 .
  • Página man de ssh-agent de la versión OpenSSH (parte del proyecto OpenBSD ).
  • Interfaz de agente ssh alternativa de terceros para Mac OS X
  • "Uso de ssh-agent con SSH"
  • Guía ilustrada para el reenvío de agentes SSH
  • aspectos de seguridad