Обычно я выполняю аутентификацию по ключу ssh следующим образом:
# ssh-keygen -t rsa
)ssh-copy-id
или другими способами)Я видел, как серверы AWS (веб-серверы Amazon) предоставляют ключ во время создания сервера, который затем клиент может использовать для входа в систему.
Теперь у меня есть сервер, на котором я хочу сгенерировать ключи и раздать их своим клиентам. Каждый, у кого есть этот ключ, должен иметь доступ к серверу.
Мне здесь не хватает теории об открытом / закрытом ключе?
Не делай этого. Если все ваши клиенты используют одну и ту же пару ключей для доступа к серверу, и один из ваших клиентов уходит, вы не можете удалить их доступ, не отключив всех.
По крайней мере, попросите каждого клиента сгенерировать свою собственную пару ключей и отправить вам открытый ключ (который также несколько менее небезопасен, чем вы отправляете им закрытый ключ), а затем поместите все открытые ключи в файл authorized_keys сервера. Еще лучше создать для каждого клиента свою собственную учетную запись пользователя на сервере и поместить открытый ключ каждого клиента в файл authorized_keys соответствующей учетной записи пользователя.
Amazon linux использует пара ключей как и вы, но раздает закрытый ключ.
Итак, если вы создаете пользователя на стороне сервера, вы должны, как обычно, добавить открытый ключ в /home/your_user/.ssh/authorized_keys, а затем передать закрытый ключ своему клиенту.
Вы должны знать о проблемах безопасности как "закрытые ключи не зря называются закрытыми."