کلید امضا و اعتماد
چطور مطمئن شوید بستهها همانهاییاند که باید باشند، و این مطمئنبودن به چه چیزی تکیه دارد.
کلید امضای dacker
- اثر انگشت
8F36 3F83 6263 F265 F686 BBB9 1363 921A A23C D7DB- شناسه
- 1363921AA23CD7DB
- نام روی کلید
- dacker.ir repository <repo@dacker.ir>
- انقضا
- (2029-09-27)
- دریافت
- dacker.gpg (باینری، برای signed-by) · dacker.asc (متنی)
اثر انگشت را بررسی کنید
کلید را دانلود کنید و اثر انگشتی را که gpg نشان میدهد با عدد بالا مقایسه کنید. هر دو باید دقیقاً یکی باشند:
curl -fsSL https://repo.dacker.ir/dacker.asc | gpg --show-keys --with-fingerprintکلیدی را که قبلاً روی سرور نصب کردهاید هم همینطور میشود بررسی کرد:
gpg --show-keys --with-fingerprint /usr/share/keyrings/dacker.gpgاین اثر انگشت را از جای دیگری هم مقایسه کنید (مثلاً همین صفحه روی شبکهٔ دیگر)، نه فقط از خروجی همان سروری که کلید را از آن گرفتهاید.
روی Ubuntu: یک کلید برای همه
فهرستهای مخزنهای Ubuntu با کلید dacker امضا میشوند. هر فایل منبع با signed-by=/usr/share/keyrings/dacker.gpg فقط به همین کلید اعتماد میکند، نه به همهٔ کلیدهای سیستم؛ پس این کلید نمیتواند برای مخزنهای دیگرِ سرور شما امضا کند.
روی EL: کلیدِ خود سازنده
روی AlmaLinux، Rocky و RHEL خودِ بستههای RPM امضای سازندهٔ اصلی را دارند و dacker آنها را دستنخورده نگه میدارد. فایلهای .repo با gpgcheck=1 از dnf میخواهند امضای هر بسته را با کلید همان سازنده بسنجد. کلیدها از همین مخزن دریافت میشوند:
| فایل کلید | شناسهها | نام روی کلید | مخزنها |
|---|---|---|---|
| PGDG-RPM-GPG-KEY-RHEL | 40bca2b408b40d20 c07038af3576435c | PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org> | postgresql |
| PGDG-RPM-GPG-KEY-RHEL7 | 538d1bb7a7671845 64face1173e3b907 | PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org> | — |
| RPM-GPG-KEY-EPEL-7 | 6a2faea2352c64e5 | Fedora EPEL (7) <epel@fedoraproject.org> | — |
| RPM-GPG-KEY-EPEL-8 | 21ea45ab2f86d6a1 | Fedora EPEL (8) <epel@fedoraproject.org> | epel-extras، mariadb-10.11، mariadb-11.4، mariadb-11.8، php |
| RPM-GPG-KEY-EPEL-9 | 8a3872bf3228467c | Fedora (epel9) <epel@fedoraproject.org> | epel-extras، mariadb-10.11، mariadb-11.4، mariadb-11.8، php |
| RPM-GPG-KEY-remi | 004e6f4700f97f56 bfc07f98697b675e | Remi Collet <RPMS@FamilleCollet.com> | php |
| RPM-GPG-KEY-remi.el10 | 003aef45dc4fe2dd c2fd3b2c2a0948e4 | Remi's RPM repository 2024 (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi.el8 | 29ac3647e9de723d 555097595f11735a | Remi's RPM repository <remi@remirepo.net> | php |
| RPM-GPG-KEY-remi.el9 | 8af2f648d18ae7d2 b19527f1478f8947 | Remi's RPM repository (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | php |
| RPM-GPG-KEY-remi2017 | 51d497e1fa7c159c e080f29f0364b949 | Remi's RPM repository <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2018 | 29ac3647e9de723d 555097595f11735a | Remi's RPM repository <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2019 | 503666ccbbae6f1b 548f5da2ae0cdb22 | Remi's RPM repository (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2020 | 0714919e4c21a808 f29bdce32ac7ed89 | Remi's RPM repository (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2021 | 8af2f648d18ae7d2 b19527f1478f8947 | Remi's RPM repository (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2022 | 83c0639e1fef0014 a0b1f75436c84e82 | Remi's RPM repository (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2023 | 1fcc05ccd15cf9a1 d5933dab6defd35e | Remi's RPM repository (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2024 | 003aef45dc4fe2dd c2fd3b2c2a0948e4 | Remi's RPM repository 2024 (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2025 | 061566968f1f4b2d 403b76849e73f609 | Remi's RPM repository 2025 (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| RPM-GPG-KEY-remi2026 | 834661ae4ae5dd90 ed5b58c5befa00e2 | Remi's RPM repository 2026 (https\x3a//rpms.remirepo.net/) <remi@remirepo.net> | — |
| adoptium.asc | 3f4a517504a9cd61 843c48a565f8f04b | Adoptium GPG Key (DEB/RPM Signing Key) <temurin-dev@eclipse.org> | temurin |
| docker.asc | c52feb6b621e9f35 | Docker Release (CE rpm) <docker@docker.com> | docker |
| elastic.asc | ab6b7fcb60d31954 d27d666cd88e42b4 | Elasticsearch (Elasticsearch Signing Key) <dev_ops@elasticsearch.org> | elastic-8، elastic-9 |
| gitlab-3D645A26AB9FBD22.asc | 3cfcf9baf27eab47 3d645a26ab9fbd22 | GitLab, Inc. <support@gitlab.com> | gitlab-ce |
| gitlab-CB947AD886C8E8FD.asc | ad997acc82dd593d cb947ad886c8e8fd | GitLab, Inc. <support@gitlab.com> | gitlab-ce |
| gitlab-repo.asc | 1193dc8c5fff7061 3f01618a51312f3f | GitLab B.V. (package repository signing key) <packages@gitlab.com> | — |
| gitlab-runner-49F16C5CC3A0F81F.asc | 49f16c5cc3a0f81f 6c57c29c6ba75a4e | GitLab, Inc. <support@gitlab.com> | gitlab-runner |
| gitlab-runner-4C80FB51394521E9.asc | 4c80fb51394521e9 a674bf8135dfa027 | GitLab, Inc. <support@gitlab.com> | — |
| grafana.asc | 488427a542157ea4 963fa27710458545 | Grafana Labs <engineering@grafana.com> | grafana |
| hashicorp.asc | fc9ca96aca026560 | HashiCorp Security (HashiCorp Package Signing) <security+packaging@hashicorp.com> | hashicorp |
| kubernetes-v1.35.asc | 234654da9a296436 | isv\x3akubernetes OBS Project <isv\x3akubernetes@build.opensuse.org> | kubernetes-v1.35 |
| kubernetes-v1.36.asc | 234654da9a296436 | isv\x3akubernetes OBS Project <isv\x3akubernetes@build.opensuse.org> | kubernetes-v1.36 |
| kubernetes-v1.37.asc | 234654da9a296436 | isv\x3akubernetes OBS Project <isv\x3akubernetes@build.opensuse.org> | kubernetes-v1.37 |
| mariadb.asc | c0f47944de8f6914 f1656f24c74cd1d8 | MariaDB Signing Key <signing-key@mariadb.org> | mariadb-10.11، mariadb-11.4، mariadb-11.8، mariadb-12.3 |
| mongodb-7.0.asc | 160d26bb1785ba38 | MongoDB 7.0 Release Signing Key <packaging@mongodb.com> | mongodb-7.0 |
| mongodb-8.0.asc | 41de058a4e7dca05 | MongoDB 8.0 Release Signing Key <packaging@mongodb.com> | mongodb-8.0 |
| mongodb-9.asc | 849af88aac5c6694 f366d55b602e502d | MongoDB 9 Release Signing Key <packaging@mongodb.com> | mongodb-9.0 |
| mysql.asc | b7b3b788a8d3785c c952c9bcdc49a81a | MySQL Release Engineering <mysql-build@oss.oracle.com> | mysql-8.4 |
| nginx.asc | 2fd21310b49f6b46 abf5bd827bd9bf62 bcdcd8a38d88a2b3 | nginx signing key <signing-key-2@nginx.com> nginx signing key <signing-key@nginx.com> nginx signing key <signing-key-3@nginx.com> |
nginx |
| nodesource.asc | 6b88da4e3af28a14 94841681e801b874 | Nodesource Operations <operations@nodesource.com> | nodejs-22، nodejs-24 |
اگر کلید عوض یا باطل شود
تاریخ انقضای کلید dacker بالا آمده است. اگر کلید پیش از آن تمدید، جایگزین یا باطل شود، اثر انگشت و تاریخ تازه در همین صفحه و در صفحهٔ تغییرات میآید. در آن صورت:
- اثر انگشت کلید تازه را مثل بالا بررسی کنید.
- کلید قدیمی را با کلید تازه جایگزین کنید (همان دستور مرحلهٔ ۱ فایل را بازنویسی میکند):
sudo curl -fsSL https://repo.dacker.ir/dacker.gpg -o /usr/share/keyrings/dacker.gpgsudo apt updateاگر apt update خطای NO_PUBKEY یا EXPKEYSIG داد، یعنی کلید روی سرور شما با کلیدی که مخزن با آن امضا شده یکی نیست؛ همین دو دستور را اجرا کنید. روی EL، کلیدهای سازنده را dnf هنگام نصب بررسی میکند و در صورت تغییرشان پیش از وارد کردن کلید تازه از شما تأیید میخواهد.