Назад | Перейти на главную страницу

ключевые вопросы ssh

У меня есть вопросы по генерации ключей для доступа по ssh:

(1) Предположим, что есть два компьютера, на которых запущена служба ssh-сервера, и я создал пару файлов ключей на компьютере A и скопировал общедоступный файл на компьютер B. Верно ли, что это только односторонний ключ: мы только дали компьютеру Разрешение на доступ к компьютеру B, не давая компьютеру B разрешение на доступ к компьютеру A? Если я теперь хочу передать ssh с компьютера B на компьютер A, должен ли я сгенерировать еще одну пару файлов ключей на компьютере B и скопировать общедоступный файл на компьютер A?

(2) Если я хочу подключить один локальный компьютер к нескольким удаленным серверам, нужно ли генерировать общую пару файлов ключей только один раз на локальном и копировать один и тот же общедоступный файл на удаленные серверы или сгенерировать другую пару файлов ключевые файлы на локальном для разных удаленных серверов?

(3) Если я хочу подключить несколько локальных компьютеров к одному удаленному серверу, при копировании общедоступных файлов с разных локальных компьютеров на удаленный сервер, нужно ли объединить их в один файл authorized_keys или сохранить их в разных файлах authorized_keys ?

(4) Если есть несколько серверов, совместно использующих одну файловую систему, например, NFS, как сгенерировать ключи и упорядочить файлы ключей для доступа с одного сервера на другой? Также как по-прежнему генерировать ключи и упорядочивать файлы ключей для доступа локального компьютера к любому из серверов?

Все вышеперечисленные машины работают под управлением Linux. Приведите примеры и команды в своем ответе, чтобы я мог лучше понять, как решать проблемы.

Спасибо и привет!

(1) Предположим, что есть два компьютера, на которых запущена служба ssh-сервера, и я создал пару файлов ключей на компьютере A и скопировал общедоступный файл на компьютер B. Верно ли, что это только односторонний ключ: мы только дали компьютеру Разрешение на доступ к компьютеру B, не давая компьютеру B разрешение на доступ к компьютеру A?

Да.

Если я теперь хочу передать ssh с компьютера B на компьютер A, должен ли я сгенерировать еще одну пару файлов ключей на компьютере B и скопировать общедоступный файл на компьютер A?

Да (хотя вы можете использовать те же ключевые файлы, что и выше, если A и B полностью доверяют друг другу).

(2) Если я хочу подключить один локальный компьютер к нескольким удаленным серверам, нужно ли генерировать общую пару файлов ключей только один раз на локальном и копировать один и тот же общедоступный файл на удаленные серверы или сгенерировать другую пару файлов ключевые файлы на локальном для разных удаленных серверов?

Хотя оба будут работать, нет причин использовать более одного ключевого файла; так что твой второй вариант.

(3)

Да, вы объединяете все ключи в один файл authorized_keys.

(4) Если существует несколько серверов, совместно использующих одну и ту же файловую систему, например, NFS, как сгенерировать ключи и упорядочить файлы ключей для доступа с одного сервера на другой? Также как по-прежнему генерировать ключи и упорядочивать файлы ключей для доступа локального компьютера к любому из серверов?

NFS не имеет значения для SSH; файлы должны просто находиться в нужных местах. То же самое для генерации ключей.

  1. Да, это так. Машина с частной половиной ключа может аутентифицироваться против тех, у кого есть публичная половина. Конечно, у вас может быть один и тот же закрытый ключ на двух или более машинах, но если у вас нет строковой парольной фразы для ключа, вам не следует делать это для серверов, которым вы не доверяете на 100%, таких как внешний общий сервер (опять же , ключи без пароля в любом случае не рекомендуются).

  2. Обычно один и тот же открытый ключ используется на многих серверах, как и при использовании открытого + закрытого ключей для подписи электронной почты (каждый обычно использует один и тот же открытый ключ для проверки подписей из вашего единственного закрытого ключа) - не указанное выше о не сохранении. Например, мой ключ для меня @ homemachine может регистрировать меня на моем домашнем сервере, моем удаленном сервере и нескольких виртуальных машинах. У меня есть другой набор ключей для @ homeserver (из-за примечания 1 выше), но он также может использоваться для аутентификации меня с помощью выбора учетных записей в другом месте. Тем не менее, ничто не мешает вам иметь много закрытых ключей для каждой учетной записи, которую вы держите, если хотите.

  3. Все авторизованные ключи для данной целевой учетной записи существуют в одном файле authorized_keys.

  4. Это зависит. Находится ли ваш домашний каталог или все остальное на общем ресурсе (NFS)?

http://novosial.org/openssh/publickey-auth/ - это ресурс, который появился после быстрого поиска при ответе на связанный вопрос ранее, и он кажется актуальным и здесь, хотя он может не охватить ваш последний пункт. Примеры команд будут актуальны для Linux при условии, что вы используете OpenSSH (что, скорее всего, не так).

  1. Одна пара ключей, созданная с компьютера 'A'может использоваться для входа на несколько других компьютеров.
    Однако вы можете скопировать пару ключей из Aс '.ssh' каталог на другой компьютер 'B' а затем используйте его оттуда (для входа на все компьютеры, с которых вы разрешили доступ)A' с этими учетными данными).
    Это делает доступ менее безопасным, поскольку теперь вы разделили личные данные на двух компьютерах. Но это может сработать, если это не ответственность.
  2. Как я описал выше, одна пара ключей на 'A' можно использовать для доступа к любому количеству удаленных машин, авторизовав доступ с помощью открытого ключа на каждой из них.
  3. В 'authorized_keys' файл может иметь несколько строк авторизации (открытых ключей), по одной на строку.
  4. Когда вы поделились 'home' пространство на нескольких компьютерах (и '.ssh' поэтому сам каталог используется ими при входе в систему), вам понадобится всего одна пара ключей для совместного доступа к этому пулу компьютеров. Поместите открытый ключ в файл authorized_keys этого '.ssh'.

Некоторые ссылки,

  1. Аутентификация открытого ключа OpenSSH
  2. SSH без пароля
  3. Удостоверения пользователей SSH (SecurityFocus)

Обновить: