
Tengo una red de varias cajas Linux/Unix (varias cajas ubuntu, raspian y OS-X) en las que inicio sesión de forma rutinaria. Generalmente estoy en la máquina OSX y he generado un par de claves que se ha compartido con cada uno de los cuadros y puedo iniciar sesión en cada uno de ellos usando el par de claves.
El problema que tengo es intentar crear el par de claves para otros cuadros para cuando necesito copiar archivos directamente entre esos cuadros, ya que la mayor parte del tiempo el MBP está en wifi y la conexión es lenta para mover archivos grandes.
Para dar un ejemplo simple, mi MBP es la computadora A. Ubuntu #1 es la computadora B y Ubuntu #2 es la computadora C.
Usando pares de claves:
A puede iniciar sesión en B
A puede iniciar sesión en C
Pero B no puede iniciar sesión en C ni C tampoco puede iniciar sesión en B
El error que recibo es un error de "clave pública". permiso denegado (clave pública).
En todos los lugares donde busco este error parece ser el caso en el que se utilizan varias claves para iniciar sesión en diferentes casillas.
La única forma que se me ocurre para hacer esto es crear el mismo par de claves y colocar las mismas claves públicas y privadas en cada computadora, pero parece un riesgo para la seguridad tenerlas a ambas en una misma ubicación.
editar:
Esto es lo que sucede con más detalle (lo siento, debería haber sido más exhaustivo)
Desde A (MBP) inicio sesión en B (bbox), pero no puedo iniciar sesión en C (sun) (desde B).
Desde A, puedo iniciar sesión en C, pero no en B (desde C).
madivad@bbox:~$ ssh sun
Permission denied (publickey).
Tampoco puedo presionar la clave pública por la misma razón:
madivad@bbox:~$ ssh-copy-id sun
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/madivad/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
(if you think this is a mistake, you may want to use -f option)
madivad@bbox:~$ ssh-copy-id -f sun
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/madivad/.ssh/id_rsa.pub"
Permission denied (publickey).
madivad@bbox:~$
Así que generémoslo nuevamente (lo que he hecho innumerables veces):
madivad@bbox:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/madivad/.ssh/id_rsa):
/home/madivad/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/madivad/.ssh/id_rsa.
Your public key has been saved in /home/madivad/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:<removed> madivad@bbox
The key's randomart image is:
+---[RSA 2048]----+
| So |
| beautiful it's |
| a shame to |
| remove it |
| (although |
| it's |
| probably not |
| required) |
+----[SHA256]-----+
madivad@bbox:~$ ssh-copy-id sun
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/madivad/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Permission denied (publickey).
madivad@bbox:~$
Parece que estoy dando vueltas en círculos
Respuesta1
El error que recibo es un error de "clave pública".
Con tanta precisión en la forma de informar errores, todo lo que puedo decir es que cometió un error en algún lugar al generar o implementar las claves.
Lo que debes hacer es generar un par de claves en cada máquina, ejecutando el comando
ssh-keygen
Luego, para cada par de máquinas en las que desee poder usar la clave en X para iniciar sesión en la máquina Y, ejecute el siguiente comando en la máquina X:
ssh-copy-id X