Я устанавливаю рабочую станцию глубокого обучения в лаборатории своего колледжа. Он работает под управлением Ubuntu Server 16.04, и я установил в нем SSH-сервер, чтобы управлять им удаленно.
Моя задача сейчас - сделать его доступным для моей команды через SSH с использованием аутентификации с открытым ключом (аутентификация по паролю уже отключена) . Но я немного запутался в некоторых аспектах управления открытым ключом SSH.
Как мне управлять pub-ключами пользователей, которые будут иметь доступ к серверу?
Какой самый безопасный способ получить и сохранить эти ключи на сервере?
Должны ли они отправлять мне паб-ключи, сгенерированные с помощью ssh-keygen, через сообщение и хранить их самостоятельно на сервере, или есть более безопасный способ сделать это?
В команде около 6 человек, так что я думаю что управление ключами вручную в данном случае возможно. Я ошибаюсь?
Извините за эту кучу вопросов, но последние две недели я искал в Интернете эту тему и не нашел ничего полезного для этого случая. Мы будем очень благодарны за совет, основанный на вашем опыте администрирования серверов!
ssh-copy-id может вам помочь, но это требует, чтобы пользователи сами добавляли свои ключи, а для этого им необходимо иметь возможность войти в систему (через пароли, так как ssh-ключи еще не установлены). Другой способ сделать это - попросить их отправить вам свои открытые ключи, а затем вы добавите их в каждый из их файлов авторизованных ключей. Это безопасно, если они не отправляют свои закрытые ключи. Это не лучшее долгосрочное решение, но для 6 человек это было бы неплохо.
Это то, что я считаю идеальный вариант использования инструментов управления конфигурацией, таких как Ansible / Puppet / Chef / и т. д.
Попросите людей сгенерировать свои ключи и сохранить их как часть данных, развернутых вашей системой управления конфигурацией.