У меня есть сеть из нескольких ящиков linux / unix (различных ubuntu, raspian и OS-X), которые я обычно использую войти в. Обычно я нахожусь на машине OSX, и я сгенерировал пару ключей, которая используется в каждом из ящиков, и я могу войти в каждый из них, используя эту пару ключей.
Проблема, с которой я столкнулся, заключается в попытке создать пару ключей для других ящиков, когда мне нужно копировать файлы непосредственно между этими ящиками, поскольку большую часть времени MBP подключен к Wi-Fi, а соединение медленно перемещает большие файлы.
В качестве простого примера, мой MBP - это компьютер A. Ubuntu # 1 - это компьютер B, а Ubuntu # 2 - это компьютер C.
Использование пар ключей:
A может войти в B
A может войти в C
, но B не может войти в C, а C не может войти в B
Я получаю сообщение об ошибке «ошибка открытого ключа» отказано в разрешении (открытый ключ).
Везде, где я ищу эту ошибку, кажется, что несколько ключей используются для входа в разные ящики.
Единственный способ, который я могу придумать, чтобы сделать это, - это создать одну и ту же пару ключей и поместить одинаковые открытый и закрытый ключи на каждый компьютер, но это похоже на угрозу безопасности, когда они оба находятся в одном месте.
править:
Вот что происходит более подробно (извините, я должен был быть более внимательным)
Из A (MBP) я вхожу в B (bbox), но не могу войти в C (sun ) (из Б).
Из A я могу войти в C, но не в B (из C).
madivad@bbox:~$ ssh sun
Permission denied (publickey).
Я не могу нажать открытый ключ по той же причине:
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:~$
Итак, давайте сгенерируем его снова (что я делал бесчисленное количество раз):
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:~$
Кажется, я хожу по кругу
Ошибка, которую я получаю, - это ошибка "открытого ключа".
С такой точностью в том, как вы сообщаете об ошибках, все, что я могу сказать, это то, что вы допустили ошибку где-то при генерации или развертывании ключей.
Что вы должны сделать, так это сгенерировать пару ключей на каждой машине, выполнив команду
ssh-keygen
Затем, для каждой пары машин, таких, что вы хотите иметь возможность использовать ключ на X для входа в машину Y, выполните следующую команду на машине X:
ssh-copy-id X