Saltar la navegación

6.2.4. Ejecución remota de comandos en modo desatendido con frase de paso

Para hacer posible la ejecución remota de comandos de manera desatentida con frase de paso, hay que usar la herramienta ssh-agent que almacena temporalmente (normalmente durante una sesión de conexión a un equipo remoto) las claves privadas con frase de paso, con la particularidad de que solo se introduce la frase de paso la primera vez que se realiza la conexión, permitiendo usar SSH de forma desatendida todo el tiempo que dura la sesión del usuario (esto último es configurable, pudiendo establecerse un tiempo inferior o superior). El único cuidado que se debe tener es controlar el uso de la sesión, debiendo bloquearla cuando no se esté usando.

ssh-agent es un proceso que se ejecuta en segundo plano y que está presente en todas las distribuciones Linux con entorno gráfico. Para comprobar que ssh-agent se está ejecutando tenemos dos opciones:

env | grep SSH

ps aux | grep ssh-agent

En el caso de no tener entorno gráfico, si se quiere usar ssh-agent, se debe añadir a través del siguiente comando:

ssh-agent /bin/bash

Para usar una clave con frase de paso de forma desatendida, hay que añadirla al ssh-agent a través del siguiente comando:

ssh-add ~/.ssh/ficheroClavePrivada

Si la clave privada está protegida con una frase de paso, automáticamente se nos pedirá y quedará añadida al agente SSH.

Es posible conocer cuáles son las claves que tienen añadida su frase de paso al agente SSH a través de los comandos:

ssh-add -L

ssh-add -l

Del mismo modo que se pueden añadir frases de paso al agente SSH, también se pueden eliminar mediante el comando:

ssh-add -d ~/.ssh/ficheroClavePrivada

O si se quieren eliminar del agente SSH todas las frases de paso de todas las claves privadas, se emplea el comando:

ssh-add -D