Cómo usar ssh-agent en ubuntu

Cómo usar ssh-agent en ubuntu
agente ssh está configurado para ejecutar en Ubuntu automáticamente. Si no se inicia al inicio de sesión automáticamente, el comando 'eval' puede comenzar manualmente. La contraseña de la tecla privada SSH puede ser creada manualmente por el manejo del usuario agente ssh. Se llama agente de autenticación. El agente ssh utiliza la variable de entorno ssh_auth_sock para la autenticación. Si esta variable se establece correctamente, entonces el agente ssh funcionará correctamente. Los usos de agente ssh en ubuntu para diferentes propósitos se han explicado en este tutorial.

Prerrequisitos:

Antes de comenzar los pasos de este tutorial, se requerirán los siguientes pasos para completar.

Habilite el servicio SSH en Ubuntu si no está habilitado antes.

Genere los pares de teclas SSH para ejecutar los comandos en el servidor remoto. Ejecute el siguiente comando para crear la clave pública y la clave privada. La clave privada se almacenará en el servidor remoto, y las claves públicas se almacenarán en el cliente de forma segura.

$ ssh -keygen -t rsa

Ejecute el siguiente comando para abrir el sshd_config Archivo con el editor Nano para agregar algunas configuraciones necesarias.

$ sudo nano/etc/ssh/sshd_config

Agregue las siguientes líneas en el archivo para habilitar el inicio de sesión raíz y la autenticación basada en contraseña.

Contraseña Autenticación Sí
Permitrootlogin si

Ejecute el siguiente comando para reiniciar el servicio SSH.

$ sudo servicio ssh reiniciar

Sintaxis:

Dos sintaxis diferentes del agente SSH han dado a continuación. El significado de las opciones utilizadas con este comando se describe en la siguiente parte de este tutorial.

ssh-agent [-c | -s] [-dd] [-a bind_address] [-e dactingprint_hash] [-t life] [comando [arg…]]
ssh-agent [-c | -s] -k

Diferentes opciones de SSH-Agent:

El comando ssh-agent tiene muchas opciones. Los usos de las opciones se dan a continuación.

Opción Objetivo
-un bind_address Se usa para vincular el socket de dominio UNIX a la ruta de archivo dada con fuerza en lugar de usar el socket predeterminado.
-C Se usa para generar los comandos C-Shell en Stdout. El shell se detecta automáticamente por defecto.
-d Se usa para habilitar el modo de depuración.
-E hingerprint_hash Se usa para definir el algoritmo utilizado para generar las huellas digitales de la tecla SSH. MD5 y SHA256 son los valores válidos.
-k Se usa para matar al agente actualmente en ejecución.
-s Se usa para generar los comandos de bourne shell (/bin/sh) en stdout con fuerza. El shell se detecta automáticamente por defecto.
-t vida Se utiliza para definir el número máximo de segundos utilizados para mantener la identidad del agente. El valor de esta opción define en segundos, pero puede definirse por diferentes sufijos, como M durante minutos, h durante horas, D durante días y W durante semanas. Si no se usa esta opción, el agente mantendrá las teclas en la memoria mientras se ejecute. Este valor se anulará cuando se ejecutará el comando ssh-add.

El uso de la opción -t se ha mostrado aquí. Ejecute el siguiente comando para mantener la identidad de los agentes durante 60 segundos.

$ ssh -agent -t 60

La siguiente salida aparecerá después de ejecutar el comando anterior.

Uso del comando ssh-agent para la autenticación no interactiva:

Ejecute el siguiente comando desde la máquina del servidor para iniciar el agente SSH para la autenticación no interactiva.

$ eval $ (ssh-agent)

La siguiente salida aparecerá después de ejecutar el comando anterior. ssh-agent se está ejecutando ahora. Aquí, el nombre de usuario de la máquina del servidor es 'fahmida.'

Use SSH-Add para agregar la frase de pases de clave privada al agente SSH:

el ssh-add El comando requerirá proporcionar la frase de pases para las claves privadas de SSH. Ahora, inicie sesión en la máquina del cliente y ejecute el ssh-add comando desde la terminal.

$ ssh-add

Después de agregar la clave privada al agente SSH, diferentes tipos de comandos SSH, como SCP, SFTP, SSH, etc., se puede ejecutar desde la máquina del cliente.

Copiar archivo del cliente al servidor:

El SCP comandan copiar el archivo del cliente al servidor y ssh El comando para conectarse con el servidor para verificar el archivo se copia o no se muestra en esta parte del tutorial. Crear un archivo de texto llamado archivo de prueba.TXT con el siguiente contenido.

archivo de prueba.TXT

Es un archivo de prueba creado en la máquina del cliente.

Ejecute el siguiente comando para verificar el contenido del archivo de prueba.TXT archivo antes de ejecutar el 'SCP' dominio.

$ Cat TestFile.TXT

La siguiente salida aparecerá después de ejecutar el comando anterior.

Ejecute el siguiente comando para copiar el archivo de prueba.TXT Archivo desde la máquina del cliente a la Documentos carpeta de la máquina del servidor.

$ SCP TestFile.txt fahmida@fahmida-virtualbox: ~/documentos/

El siguiente resultado aparecerá después de ejecutar el comando anterior si el archivo se copia correctamente en la ubicación del servidor. Aquí, el nombre de usuario de la máquina del servidor es 'Fahmida' y el nombre de usuario de la máquina del cliente es 'Yasmin.

Ejecute el siguiente comando para establecer una conexión con el servidor usando ssh dominio.

$ ssh fahmida@fahmida-virtualbox

Ejecute el siguiente comando para ir al Documentos La carpeta de la máquina del servidor para verificar el archivo de texto se ha copiado aquí o no.

$ Documentos de CD

Ejecute el siguiente comando para verificar la lista de los archivos y carpetas de la Documentos carpeta.

$ LS
[

La siguiente salida muestra que el archivo de texto existe en el Documentos carpeta de la máquina del servidor.

Ahora, ejecute el siguiente comando para verificar el contenido del archivo de prueba.archivo txt de la máquina del servidor.

$ Cat TestFile.TXT

La siguiente salida muestra que el contenido de TestFile.txt de la máquina del servidor es el mismo que el contenido del archivo de texto.txt de la máquina del cliente.

Elimine todas las claves privadas de agentes SSH en caché:

Ejecute el siguiente comando ssh-add con la opción -d para eliminar todas las claves privadas del agente SSH en caché.

$ ssh -add -d

La siguiente salida aparecerá después de ejecutar el comando anterior.

Conclusión:

Usando agente ssh es una forma de conectarse con la máquina remota de la máquina del cliente para hacer diferentes tareas. Cualquier archivo se puede copiar desde la máquina del cliente a la máquina del servidor ejecutando un agente SSH que se muestra en este tutorial para ayudar al lector a conocer el uso de este comando.