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

Создание системы обновлений с логинами по серийному номеру

У нашей компании есть сервер, который является заблокированной версией Linux (настраиваемая оболочка для пользователей, без прямого доступа). В настоящее время я отправляю обновления пользователю, но было бы лучше, если бы пользователи сделали вытягивание.

У каждого устройства есть серийный номер, который, вероятно, будет использоваться при входе на сервер обновлений.

Я хотел бы иметь несколько каналов / веток (как бы они ни назывались), например MAIN и DEV.

Какой протокол лучше всего подходит для этой ситуации? FTP проще ограничить доступ к каталогу, если кто-то должен был получить полную информацию для входа. Было бы лучше использовать SCP, так как я хотел бы защитить передачу, но я бы предпочел режим только для чтения и ограниченный каталогом. Можно ли это сделать с помощью SCP?

Какой должен быть логин / пароль? Я предполагаю, что для SCP серийный номер может быть именем пользователя и вместо пароля сгенерировать ключ для пользователя.

Не используйте схему имени пользователя и пароля.

Используйте ключи SSH. Это дает вам следующие преимущества:

  • можно использовать SCP (или rsync для большего контроля!)
  • может использовать одну учетную запись для всех входов в систему, отличаться только ключом, используемым для входа в систему
  • может легко отозвать ключ, удалив его из authorized_keys

С помощью SCP / SFTP каждый пользователь может загрузить именно то, что он видит. Итак, если учетной записи пользователя предоставлены разрешения на чтение только в их домашнем каталоге, который имеет символическую ссылку на ту ветку, которую они должны просматривать, это то, что они увидят и что они смогут получить.

Протестируйте, войдя в систему как один из пользователей и попытавшись less файлы, которые вы хотите обезопасить. Если ваши разрешения настроены правильно, вы не сможете.

Имя пользователя / пароль, безусловно, может быть тем, что вы предлагаете. Однако не забудьте иметь способ обновить ключ на устройстве в случае взлома.