Configurando um estilo round robin de login SSH em uma rede

Configurando um estilo round robin de login SSH em uma rede

Eu tenho uma rede de várias caixas Linux/Unix (várias caixas ubuntu, raspian e OS-X) nas quais faço login rotineiramente. Geralmente estou na máquina OSX e gerei um par de chaves que foi compartilhado com cada uma das caixas e posso fazer login em cada uma delas usando o par de chaves.

O problema que estou tendo é tentar criar o par de chaves para outras caixas para quando preciso copiar arquivos diretamente entre essas caixas, já que na maioria das vezes o MBP está em wifi e a conexão fica lenta para mover arquivos grandes.

Para dar um exemplo simples, meu MBP é o computador A. Ubuntu #1 é o computador B e Ubuntu #2 é o computador C.

Usando pares de chaves:
A pode fazer login em B
A pode fazer login em C

Mas B não pode entrar em C nem C pode entrar em B

O erro que recebo é um erro de "chave pública" permissão negada (chave pública).

Em todos os lugares que pesquiso sobre esse erro, parece ser o caso em que várias chaves são usadas para entrar em caixas diferentes.

A única maneira que consigo pensar em fazer isso é criar o mesmo par de chaves e colocar as mesmas chaves públicas e privadas em cada computador, mas isso parece um risco de segurança tendo os dois no mesmo local.

editar:

Então é isso que acontece com mais detalhes (desculpe, eu deveria ter sido mais aprofundado)

De A (MBP) eu entro em B (bbox), mas não consigo logar em C (sol) (de B).

De A, posso entrar em C, mas não em B (de C).

madivad@bbox:~$ ssh sun
Permission denied (publickey).

Também não consigo enviar a chave pública pelo mesmo motivo:

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:~$

Então vamos gerá-lo novamente (o que já fiz inúmeras vezes):

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 estou andando em círculos

Responder1

O erro que recebo é um erro de "chave pública".

Com tanta precisão na forma como você relata erros, tudo o que posso dizer é que você cometeu um erro em algum lugar ao gerar ou implantar as chaves.

O que você deve fazer é gerar um par de chaves em cada máquina, executando o comando

ssh-keygen

Então, para cada par de máquinas em que você deseja usar a chave em X para fazer login na máquina Y, execute o seguinte comando na máquina X:

ssh-copy-id X

informação relacionada