LinuxParty
En este artículo, voy a explicar cómo realizar ssh y scp sin introducir la contraseña utilizando la autenticación de clave pública SSH con el agente SSH en OpenSSH
Hay dos niveles de seguridad en la autenticación basada en clave SSH. Para que usted pueda iniciar sesión, es necesario tener la clave privada y la contraseña. Incluso si uno de ellos se ve comprometido, el atacante aún no puede acceder a su cuenta, ya que ambos son necesarios para iniciar la sesión. Esto es mucho mejor que la autenticación de contraseña típica, en donde si la contraseña está en peligro, el atacante puede obtener acceso al sistema.
Por favor, lee la actualización de éste artículo en éste enlace.
Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
Hay dos formas de realizar ssh y scp sin introducir la contraseña:
Sin palabra en la contraseña. Durante la creación de par de claves, deje la contraseña vacía. Utilice esta opción para el procesamiento por lotes automatizado. por ejemplo, si está ejecutando una tarea de cron para copiar archivos entre máquinas esta es la opción más adecuada (no la recomendada).
Usar contraseña y SSH Agent. Si está usando ssh y scp interactiva desde la línea de comandos y no desea utilizar la contraseña cada vez que realice ssh o scp, no recomiendo la opción anterior (sin contraseña), ya que ha eliminado un nivel de seguridad en la autenticación basada en clave ssh. En su lugar, utilice la contraseña al crear el par de claves y use el agente SSH para realizar ssh y scp sin tener que introducir la contraseña cada vez que, como se explica en los pasos siguientes.
Después de 8 pasos se explica cómo realizar SSH y SCP desde lo local-host a un host remoto sin introducir la contraseña en el sistema de OpenSSH 1. Compruebe que local-host y el host remoto está en ejecución openssh -V
[local-host]$ ssh -V OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2011 [remote-host]$ ssh -V OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2011
2. Generar par de claves en el local-host utilizando ssh-keygen
[local-host]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):<Hit enter> Enter passphrase (empty for no passphrase): <Enter your passphrase here> Enter same passphrase again:<Enter your passphrase again> Your identification has been saved in /home/jsmith/.ssh/id_rsa. Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub. The key fingerprint is: 31:3a:5d:dc:bc:81:81:71:be:31:2b:11:b8:e8:39:a0 jsmith@local-host
La clave pública y la clave privada se almacena normalmente ensu directorio home. En este ejemplo, se encuentra en /home/jsmith/.sshd. Usted no debe compartir la clave privada con nadie.
Por defecto el ssh-keygen en OpenSSH genera par de claves RSA. También puede generar par de claves DSA usando el comando: ssh-keygen -t dsa. 3. Instale la llave pública en el host remoto.
Copie el contenido de la clave pública desde el nivel local-host y pegarlo en el directorio /home/jsmith/.ssh/authorized_keys en la máquina remota. Si el directorio /home/jsmith/.ssh/authorized_keys ya tiene alguna clave pública, puede añadir esto al final de la misma. Si el directorio .ssh en su directorio home del host remoto no existe, creelo.
[remote-host]$ vi ~/.ssh/authorized_keys
ssh-rsa ABIwAAAQEAzRPh9rWfjZ1+7Q369zsBEa7wS1RxzWR jsmith@local-host
4. Dar permiso adecuado para el directorio. Ssh en la máquina remota.
[remote-host]$ chmod 755 ~/.ssh
[remote-host]$ chmod 644 ~/.ssh/authorized_keys
5. Ingresa desde el local-host al host remoto utilizando la clave de autenticación SSH para verificar si funciona correctamente.
[local-host]$ <You are on local-host here> [local-host]$ ssh -l jsmith remote-host
Enter passphrase for key '/home/jsmith/.ssh/id_rsa': <Enter your passphrase here>
Last login: Sat Jun 07 2011 23:03:04 -0700 from 192.168.1.102
No mail. [remote-host]$ <You are on remote-host here>
6. Inicie el agente SSH en el local-host para realizar de ssh y scp sin necesidad de introducir la contraseña varias veces.
Verifique si el agente SSH se está ejecutando, si no se inicia como se muestra a continuación.
[local-host]$ ps -ef | grep ssh-agent
511 9789 9425 0 00:05 pts/1 00:00:00 grep ssh-agent
[local-host]$ ssh-agent $SHELL
[local-host]$ ps -ef | grep ssh-agent
511 9791 9790 0 00:05 ? 00:00:00 ssh-agent /bin/bash
511 9793 9790 0 00:05 pts/1 00:00:00 grep ssh-agent
7. Cargue la clave privada para el agente SSH en el local-host.
[local-host]$ ssh-add
Enter passphrase for /home/jsmith/.ssh/id_rsa: <Enter your passphrase here>
Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa)
A continuación se presentan las diferentes opciones disponibles en el ssh-add:
ssh-add : <key-file-name> Cargar un archivo de clave específica. ssh-add -l: Lista de todos los principales cargado en el agente ssh. ssh-add -d <key-file-name>: Eliminar una clave definida en el agente ssh ssh-add -D: Borrar todos los principales
8. Realizar SSH o SCP para el hogar a distancia desde el nivel local-host sin necesidad de introducir la contraseña.
[local-host]$<You are on local-host here> [local-host]$ ssh -l jsmith remote-host
Last login: Sat Jun 07 2011 23:03:04 -0700 from 192.168.1.102
No mail. <ssh did not ask for passphrase this time> [remote-host]$ <You are on remote-host here>
-
Seguridad
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros