Configurando um estilo round robin de login SSH em uma rede

0

Eu tenho uma rede de várias caixas linux / unix (várias caixas do Ubuntu, do raspian e do OS-X) nas quais faço login regularmente. Geralmente eu estou na máquina OSX e eu tenho gerado um par de chaves que foi compartilhado com cada uma das caixas e eu posso logar em cada um deles usando o par de chaves.

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

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

Usando pares de chaves:
A pode logar em B
A pode logar em C

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

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

Em todo lugar que eu pesquiso em relação a esse erro, parece ser o caso em que várias chaves são usadas para entrar em caixas diferentes.

A única maneira que posso pensar em fazer isso é criar o mesmo par de chaves e colocar as mesmas chaves pública e privada em cada computador, mas isso parece ser um risco de segurança, tendo ambos em um único local.

editar:

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

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

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

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

Não posso enviar a chave pública pela mesma razão:

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

    
por Madivad 24.04.2017 / 15:33

1 resposta

0

The error I get is a "public key" error.

Com essa precisão em 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

Em seguida, para cada par de máquinas que você deseja usar a chave no X para efetuar login na máquina Y, execute o seguinte comando na máquina X:

ssh-copy-id X
    
por 25.04.2017 / 02:00

Tags