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.