LinuxParty
Puedes acceder a un servidor Linux remoto sin necesidad de introducir la contraseña, siguiendo estos 3 sencillos pasos utilizando ssky-keygen y ssh-copy-id, como se explica en este artículo.
ssh-keygen crea las claves públicas y privadas. ssh-copy-id copia las claves públicas de localhost en el archivo remoto anfitrión y las authorized_keys.
ssh-copy-id también asigna los permisos necesarios en el $HOME del anfitrión remoto, ~/.ssh, y ~/.ssh/authorized_keys. (Esto tiene especial interes si tu IP pública es estática)
Este artículo también explica tres pequeñas molestias de usar ssh-copy-id y cómo usar ssh-copy-id junto con ssh-agent.
Paso 1: Creación de claves públicas y privadas utilizando ssh-key-gen en local-anfitrión.
Esto puede saltarse, en el caso de que ya hubiera ssh-keygen creado.
jsmith@local-host$ [Nota: Ahora estás en tu localhost, el host que controlará "remote-host"] jsmith@local-host$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Pulse Intro aquí] Enter passphrase (empty for no passphrase): [Pulse Intro aquí] Enter same passphrase again: [Pulse Intro aquí] 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: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 jsmith@local-host
Paso 2: Copie la clave pública al host remoto usando ssh-copy-id
jsmith@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
jsmith@remote-host's password:
Now try logging into the machine, with "ssh 'remote-host'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Nota: ssh-copy-id añade las claves para el control remoto ssh-anfitrión / authorized_key.
Paso 3: Entrar al host remoto sin introducir la contraseña
jsmith@local-host$ ssh remote-host Last login: Sun Nov 16 17:22:33 2012 from 192.168.1.2 [Note: SSH no preguntará por el password.]
jsmith@remote-host$ [Nota: ahora estás en el servidor remoto]
Estos 3 simples pasos deben hacer el trabajo en la mayoría de los casos.
También discutimos anteriormente en detalle acerca de la realización de SSH y SCP utilizando OpenSSH para entrar sin contraseña.
Utilizar ssh-copy-id con ssh-add/ssh-agent
Cuando el valor se pasa por la opción -i y Si ~/.ssh/identity.pub no está disponible, ssh-copy-id mostrará el siguiente mensaje de error.
jsmith@local-host$ ssh-copy-id -i remote-host
/usr/bin/ssh-copy-id: ERROR: No identities found
Si ha cargado llaves del ssh-agent con el ssh-add, entonces ssh-copy-id recibirá las llaves del ssh-agent para copiar en el host remoto, es decir, que copia las claves proporcionadas por el comando ssh-add -L para el host remoto, cuando no pasa la opción -i para el ssh-copy-id.
>> Si al escribir, obtenemos un resultado similar a este:
jsmith@local-host$ ssh-add -L The agent has no identities.
>> Escribimos lo siguiente para pasar la "shell al sistema remoto".
jsmith@local-host$ ssh-agent $SHELL
>> Introducimos la clave (si procede, vacía, para no pedirla)
jsmith@local-host$ ssh-add
Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa)
>> Lo verificamos
jsmith@local-host$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsJIEILxftj8aSxMa3d8t6JvM79DyBV
aHrtPhTYpq7kIEMUNzApnyxsHpH1tQ/Ow== /home/jsmith/.ssh/id_rsa
>> (En princpio, podría no hacer falta, pero si quieres puedes copiar la Id al host remoto.)
jsmith@local-host$ ssh-copy-id -i remote-host
jsmith@remote-host's password:
Now try logging into the machine, with "ssh 'remote-host'",
and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
[Nota: Esto ha añadido la clave mostrado por ssh-add -L]
Tres pequeñas molestias de ssh-copy-id
A continuación se presentan algunas molestias menores del ssh-copy-id.
Default public key: ssh-copy-id utiliza ~/.ssh/ identity.pub como el archivo predeterminado de clave pública (es decir, cuando no hay valor se pasa a la opción -i). En su lugar, me gustaría utilizar id_dsa.pub o id_rsa.pub o identity.pub como claves predeterminadas. es decir, si cualquiera de ellos existe, se debe copiar para el host remoto. Si dos o tres de ellos existen, se debe copiar identity.pub como predeterminado.
El agente no tiene identidad: Cuando el ssh-agent se está ejecutando y ssh-add -L devuelve "El agente no tiene identidad" (es decir, no hay claves que se agregan al ssh-agent), el ssh-copy-id todavía copiará el mensaje "El agente no tiene identidad" para la entrada de la máquina remota de authorized_keys.
Duplicar entrada en authorized_keys: Deseo ssh-copy-id valida la entrada duplicada en authorized_keys del host remoto. Si ejecuta ssh-copy-id varias veces en el host local, se mantendrá anexar la misma clave en el archivo de authorized_keys del host remoto sin comprobación de duplicados. Incluso con las entradas duplicadas, todo funciona como se esperaba.
-
Seguridad
- 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
- 7 cosas que incluso los nuevos usuarios de Linux pueden hacer para proteger mejor el sistema operativo
- Recuperar contraseñas de archivos comprimidos en 3 pasos