В последние несколько дней я пытался познакомиться с SSH и надеюсь, что понял это.
Однако остается один вопрос - связан ли мой ключ со мной (как с пользователем) или с моей учетной записью на компьютере?
У вас нет ключа, у вас есть пара ключей. То, как вы справляетесь с каждым, очень разное. Ваш открытый ключ можно опубликовать в твиттере и поделиться со всем миром (включая мошенников). Ваш закрытый ключ должен быть тщательно защищен.
У меня один и тот же открытый ключ на всех серверах, к которым я обращаюсь через SSH.
Я держу один и тот же закрытый ключ на двух настольных ПК и одном нетбуке, который я использую для доступа к этим серверам. Я также держу закрытый ключ на USB-накопителе для использования на компьютерах других людей (не копируя его на свой компьютер). Я использую строгую парольную фразу для защиты закрытого ключа. Нет причины, по которой вы не могли бы просто хранить закрытый ключ только на USB-накопителе (и больше нигде).
Закрытый ключ представляет вашу личность. Наличие разных ключей на разных машинах зависит от того, считаете ли вы «я на машине А» и «я на машине Б» одинаковыми.
Основным преимуществом наличия одного закрытого ключа является простота обслуживания. Вам просто нужно развернуть один открытый ключ во всех местах, в которые вы хотите войти, и вы сможете войти туда из любого места.
Основным преимуществом наличия нескольких закрытых ключей является ограничение возможного ущерба при взломе ключа.
Например, если у вас есть несколько физически защищенных машин плюс ноутбук, имеет смысл иметь общий закрытый ключ на всех этих физически защищенных машинах, но другой ключ на ноутбуке. Таким образом, если ноутбук украден, вы можете сделать недействительным соответствующий открытый ключ и по-прежнему иметь возможность входа с одной из физически защищенных машин на другую.
источник
Для ssh пара ключей (общедоступная + частная) представляет собой одну личность. Вы храните свой защищенный закрытый ключ на машинах, которым доверяете и можете защитить. Вы размещаете информацию с открытым ключом на компьютерах, к которым вы хотите иметь удаленный доступ с помощью аутентификации ключа.
Вы не должны помещать свой закрытый ключ на машины, которым вы не доверяете - поэтому копирование .ssh / around может быть рискованным.
На компьютерах, к которым вы хотите подключиться, вы помещаете копию своего открытого ключа в определенный файл (обычно .ssh / авторизованный_ключ), который позволяет выполнять аутентификацию. Технически, вы никуда не копируете ключи, вы просто копируете содержимое только вашего открытого ключа в другой файл.
Предполагая, что у вас есть одна машина, которой вы доверяете, и 12, к которой вы хотите подключиться, вы поместите информацию о вашем открытом ключе в файл .ssh / authorized_keys на 12 машинах.
Позже у вас может быть другая машина, которой вы полностью доверяете. Вы полностью выбираете, создаете ли вы новую пару открытого / закрытого ключа для этого компьютера и копируете открытый ключ в файлы 12 .ssh / authorized_keys, или копируете свой закрытый ключ на новый компьютер (в этот момент вы ничего не делаете с 12 другими машинами). Это зависит от того, насколько вы доверяете различным машинам.
Я стараюсь иметь как можно меньше пар ключей, которые имеют смысл для безопасности, которую вы пытаетесь достичь.
Ваша базовая предпосылка верна, хотя пара ключей больше связана с вами, чем с учетной записью (то есть вы можете поместить один и тот же открытый ключ в 3 учетные записи на сервере и затем использовать ssh для любой из них с вашего компьютера, используя только один закрытый ключ).
источник
Ключи связаны с любыми учетными записями пользователей, на которые вы хотите их установить.
Вы можете создать несколько ключей для каждой машины или использовать один и тот же ключ везде; это зависит от вас. Какой из них мало что меняет.
источник