Каждому пользователю нужна только одна пара открытых / закрытых ключей ssh. Вы добавляете открытый ключ в файл author_keys пользователя на каждом сервере, на котором вы хотите, чтобы он вошел в систему.
Большинство дистрибутивов Linux предоставляют инструмент под названием ssh-copy-id, который сделает всю работу за вас. Это похоже на команду ssh. Надеюсь, у Mac тоже есть эта команда.
Итак, ответ на ваши вопросы таков: 1. В MacBox запустите «ssh-copy-id user @ B», чтобы получить ваш открытый ключ в файл авторизованного пользователя user_keys на сервере B. Запустите «ssh-copy-id user @». C "сделать то же самое для сервера C.
Вы не указали, какой пользователь на сервере Z должен подключаться к B. Если у userZ уже есть пара ключей ssh, вам просто нужно это использовать. Опять же, запустите «ssh-copy-id user @ B» на сервере Z, чтобы все настроить.
Адам имеет учетную запись на сервере B? Вы хотите, чтобы Адам использовал определенную учетную запись для входа на сервер B? Если у Адама нет учетной записи на сервере B, вам, вероятно, придется создать учетную запись для Адама, прежде чем делать что-либо с SSH. Если вы хотите, чтобы Адам использовал определенную учетную запись для входа на сервер B, и эта учетная запись уже существует, создание пользователя не требуется. Если у Адама есть учетная запись для входа на сервер B, Адаму необходимо создать пару ключей SSH. После того как Адам создал его, Адам может использовать программу ssh-copy-id для передачи части открытого ключа на сервер B. Запуск «ssh-copy-id B» аналогичен «ssh-copy-id Adam @ B», если Адам имеет свой собственный аккаунт. Запуск «ssh-copy-id user @ B» поместит открытый ключ Адама в файл авторизованного пользователя на сервере B.
Надеюсь это поможет.