Возможно, вы часто скачивали какое-либо программное обеспечение с открытым исходным кодом, например, различные дистрибутивы Linux ISO. Во время загрузки вы могли заметить ссылку на скачивание файла контрольной суммы. Для чего нужна эта ссылка? На самом деле, дистрибутивы Linux распространяют файлы контрольных сумм вместе с исходными ISO-файлами для проверки целостности загруженного файла.
Используя контрольную сумму файла, вы можете убедиться, что загруженный файл является подлинным и не был подделан. Это особенно полезно, когда вы загружаете файл не с оригинального сайта, а откуда-то еще, например, со сторонних сайтов, где существует большая вероятность подделки файла.
Настоятельно рекомендуется проверять контрольную сумму при загрузке файла с любого стороннего сайта.
В этой статье мы рассмотрим несколько шагов, которые помогут вам проверить любую загрузку в операционной системе Ubuntu.
Есть два метода, которые вы можете использовать для проверки целостности загруженных файлов. Первый метод - это хэширование SHA256, который является быстрым, но менее безопасным методом. Второй - с помощью ключей gpg, который является более безопасным методом проверки целостности файлов.
Проверка загрузки с помощью хэша SHA256
В первом методе мы будем использовать хэширование для проверки загрузки. Хеширование - это процесс проверки, который позволяет убедиться, что загруженный файл на вашей системе идентичен исходному файлу и не был изменен третьей стороной. Шаги метода приведены ниже:
Шаг 1: Скачайте файл SHA256SUMS
Вам нужно найти файл SHA256SUMS с официальных зеркал Ubuntu. Страница зеркала включает некоторые дополнительные файлы вместе с образами Ubuntu. Я использую нижеприведенное зеркало для загрузки файла SHA256SUMS:
http://releases.ubuntu.com/18.04/
Как только вы найдете файл, нажмите на него, чтобы открыть. Он содержит контрольную сумму оригинального файла, предоставленного Ubuntu.
Шаг 2: Сгенерируйте контрольную сумму SHA256 загруженного ISO-файла
Теперь откройте Терминал, нажав комбинацию клавиш Ctrl+Alt+T. Затем перейдите в каталог, куда вы поместили загруженный файл.
1 | cd [путь к файлу] |
Затем выполните следующую команду в Терминале для генерации контрольной суммы SHA256 скачанного ISO-файла.
1 | sha256sum [путь к файлу] |
Шаг 3: Сравните контрольные суммы в обоих файлах.
Сравните контрольную сумму, сгенерированную системой, с контрольной суммой, представленной на официальном сайте зеркал Ubuntu. Если контрольная сумма совпадает, вы скачали подлинный файл, в противном случае файл поврежден.
Проверка загрузки с помощью ключей gpg
Этот метод более безопасен, чем предыдущий. Давайте посмотрим, как он работает. Шаги метода приведены ниже:
Шаг 1: Скачайте SHA256SUMS и SHA256SUMS.gpg
Вам нужно найти оба файла SHA256SUMS и SHA256SUMS.gpg на любом из зеркал Ubuntu. Как только вы найдете эти файлы, откройте их. Щелкните правой кнопкой мыши и используйте опцию сохранить как страницу, чтобы сохранить их. Сохраните оба файла в одном каталоге.
Шаг 2: Найдите ключ, используемый для выдачи подписи
Запустите терминал и перейдите в каталог, в который вы поместили файлы контрольных сумм.
1 | cd [путь к файлу] |
Затем выполните следующую команду, чтобы проверить, какой ключ был использован для создания подписей.
1 | gpg -verify SHA256SUMS.gpg SHA256SUMS |
Мы также можем использовать эту команду для проверки подписей. Но на данный момент нет открытого ключа, поэтому она выдаст сообщение об ошибке, как показано на рисунке ниже.
Посмотрев на приведенный выше результат, вы можете увидеть, что идентификаторы ключей следующие: 46181433FBB75451 и D94AA3F0EFE21092. Мы можем использовать эти идентификаторы для запроса с сервера Ubuntu.
Шаг 3: Получение открытого ключа сервера Ubuntu
Мы будем использовать вышеуказанные идентификаторы ключей для запроса открытых ключей с сервера Ubuntu. Это можно сделать, выполнив следующую команду в Терминале. Общий синтаксис команды следующий:
1 | gpg -keyserver <имя сервера> -recv-keys <publicKey> |
Теперь вы получили ключи от сервера Ubuntu.
Шаг 4: Проверка отпечатков ключей
Теперь вам нужно проверить отпечатки ключей. Для этого выполните следующую команду в Терминале.
1 | gpg --list-keys --with-fingerprint <0x-----> <0x------> |
Шаг 5: Проверка подписи
Теперь вы можете запустить команду для проверки подписи. Это та же команда, которую вы использовали ранее для поиска ключей, использованных для выпуска подписи.
1 | gpg --verify SHA256SUMS.gpg SHA256SUMS |
Теперь вы можете увидеть вышеприведенный результат. Он отображает сообщение "Good signature", которое подтверждает целостность нашего ISO-файла. Если бы они не совпадали, то отобразилась бы подпись BAD.
Вы также заметите предупреждающий знак, который появляется только потому, что вы не подписали ключи и их нет в списке ваших доверенных источников.
Последний шаг
Теперь вам нужно сгенерировать контрольную сумму sha256 для загруженного ISO-файла. Затем сопоставьте его с файлом SHA256SUM, который вы скачали с зеркала Ubuntu. Убедитесь, что вы поместили скачанный файл, SHA256SUMS и SHA256SUMS.gpg в один каталог.
Выполните следующую команду в Терминале:
1 | sha256sum -c SHA256SUMS 2>&1 | grep OK |
Вы получите результат, как показано ниже. Если результат отличается, это означает, что загруженный ISO-файл поврежден.
Это все, что вам нужно знать о проверке загрузки в Ubuntu. Используя описанные выше методы проверки, вы можете убедиться, что скачали подлинный ISO-файл, не поврежденный и не испорченный во время загрузки.