V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

openssh-client

Cliente Secure Shell [Secure Shell] para acceso seguro a equipos remotos. SSH es un programa para iniciar sesión en un equipo remoto y ejecutar comandos en él. Proporciona comunicaciones cifradas seguras entre dos hosts no confiables a través de una red insegura. Incluye los programas scp [ver], sftp [ver], ssh [ver], ssh-add, ssh-agent, ssh-argv0, ssh-copy-id, ssh-keygen [ver] y ssh-keyscan

ssh-agent es un programa en segundo plano [daemon] que se inicia automáticamente cuando se iniciala sesión. Para ver las variable de entorno:

$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$ ssh-add
añadir tu clave privada, normalmente la añade en ~/.ssh/id_rsa
$ ssh-add ~/.ssh/my_specific_key
añadir una clave específica
$ ssh-add -l
listar las claves que están cargadas actualmente en el agente
$ ssh-add -D
eliminar todas las claves de la memoria del ssh-agent
$ ssh-add -d ~/.ssh/key_dev_server
eliminar una clave específica según muestra el argumento -l
$ ssh-add -x
bloquea el agente para que no pueda usar ninguna de las claves cargadas sin la contraseña del agente
$ ssh-add -X
desbloquea el agente para permitir que las conexiones SSH vuelvan a utilizar las claves cargadas
$ ssh-add -t 600 ~/.ssh/temporal_key
añadir una clave que expira en 600 segundos = 10 minutos
$ ssh-copy-id usuario@servidor.ejemplo.com
copiar una clave pública predeterminada a un servidor. Primero pedirá la clave del servidor y luego copiará la clave pública
$ ssh-copy-id -i ~/.ssh/mi_clave_publica.pub usuario@servidor.ejemplo.com
copiar una clave pública específica

Una vez ejecutado con éxito, se puede iniciar sesión inmediatamente sin contraseña:

$ ssh usuario@servidor.ejemplo.com
$ ssh-keyscan servidor.ejemplo.com >> ~/.ssh/known_hosts
escanear un solo host y añadir su clave a known_hosts
$ ssh-keyscan -f hosts.txt
escanear varios hosts listados en un archivo a uno por linea e imprimirlos a la salida estándar
$ ssh-keyscan -t rsa,ed25519 servidor.ejemplo.com
escanear solo claves RSA y ED25519 de un host

Nota.- El comando "ssh-argv0" es una utilidad auxiliar de bajo nivel y no está diseñado para ser usado directamente por el usuario final. Su función principal es permitir que los comandos del paquete openssh-client como ssh, sftp, scp se instalen como enlaces [symlinks] a un único ejecutable, utilizando el nombre del enlace para determinar qué programa ejecutar.

1.-

Integrar el uso de ssh-agent y ssh-add en la configuración de inicio de shell [.bashrc]

$ nano ~/bashrc

Y añadir al final del archivo:

# ===============================================
# Configuración para SSH Agent
# ===============================================
#
# 1. Comprobar si el agente ya está en ejecución
mirando la variable de socket

if [ -z "$SSH_AUTH_SOCK" ]; then

# 2. Buscar un archivo que contenga las variables del agente (si lo hemos guardado antes)

AGENT_INFO="$HOME/.ssh/ssh-agent.info"

#

if [ -f "$AGENT_INFO" ]; then

# 3. Reusar un agente existente si el PID todavía existe

. "$AGENT_INFO" > /dev/null

if kill -0 "$SSH_AGENT_PID" 2>/dev/null; then

# El agente existe y está en ejecución, todo OK.

echo "Reutilizando ssh-agent (PID $SSH_AGENT_PID)"

else

# El agente no existe, limpiamos el archivo de información.

rm -f "$AGENT_INFO"

# 4. Iniciar un nuevo agente y guardar la información

echo "Iniciando nuevo ssh-agent..."

ssh-agent > "$AGENT_INFO"

. "$AGENT_INFO" > /dev/null

#

# Opcional: Añadir la clave principal automáticamente

# ssh-add 2>/dev/null

fi

else

# 4. Iniciar un nuevo agente y guardar la información

echo "Iniciando nuevo ssh-agent..."

ssh-agent > "$AGENT_INFO"

. "$AGENT_INFO" > /dev/null

#

# Opcional: Añadir la clave principal automáticamente

# ssh-add 2>/dev/null

fi

fi

Una vez guardada la configuración:

$ source ~/.bashrc

Se verá el mensaje: "Iniciando nuevo ssh-agent...".

Si la línea de ssh-add está comentada, se debe añadir las claves manualmente

$ ssh-add

A partir de este momento cualquier conexión SSH que se inicie, no se volverá a pedir la frase de contraseña, ya que el ssh-client le pedirá la clave al ssh-agent que ya está desbloqueado.

Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
4442 entradas - Acerca del Tractatus
La Pipa Plena 2025