CodeBlanks Logo Icon CodeBlanks

Security

GPG imzalı bir commit oluşturup SSH ile push edersin.

GPG İmzalama ve SSH ile Güvenlik

Git'te kimlik doğrulaması için SSH anahtarları kullanılırken, commit'lerin gerçekten sizin tarafınızdan yazıldığını kanıtlamak için GPG imzaları kullanılır. git commit -S -m "mesaj" komutu commit nesnesini GPG anahtarınızla kriptografik olarak imzalar. git log --show-signature veya git verify-commit ile imzanın geçerliliği doğrulanır.

git config --global user.signingkey <KEY_ID>
git commit -S -m "Güvenli commit"
git push git@github.com:user/repo.git main

Uygulama GPG İmzalı Commit Yapılandırması

Git deposunda tüm commit'lerin varsayılan olarak imzalanmasını sağlamak için commit.gpgsign yapılandırmasını true yap. Ardından git config commit.gpgsign değerini terminale yazdır.

Başlangıç kodu

terminal
git init -q

# commit.gpgsign ayarını true yap

# Ayarın değerini git config ile yazdır

Örnek çözüm

terminal
git init -q
git config commit.gpgsign true
git config commit.gpgsign

Beklenen çıktı

true

Uygulama SSH Uzak Depo Yapılandırması

origin adında SSH URL'si git@github.com:acme/security-core.git olan bir uzak depo ekle. Ardından git remote get-url origin komutu ile tanımlanan SSH adresini terminale yazdır.

Başlangıç kodu

terminal
git init -q

# SSH remote ekle

# Remote URL'sini ekrana yazdır

Örnek çözüm

terminal
git init -q
git remote add origin git@github.com:acme/security-core.git
git remote get-url origin

Beklenen çıktı

git@github.com:acme/security-core.git

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir commit oluştururken kriptografik GPG imzası eklemek için hangi bayrak kullanılır?

  • -G
  • -k
  • -S Doğru cevap
  • -s

Açıklama: Büyük -S bayrağı commit'i GPG anahtarıyla imzalar; küçük -s ise yalnızca commit mesajının sonuna Signed-off-by satırı ekler.

2 Commit İmzasını Doğrula

Soru
git verify-commit ____ HEAD
Cevap
git verify-commit verify-commit HEAD

Açıklama: git verify-commit komutu belirtilen commit'in GPG imzasını kontrol ederek imzalayan anahtarın geçerliliğini denetler.

3 Güvenlik Kavramları

Kavram Anlamı
git commit -S Commit'i GPG ile imzalar
git verify-commit GPG imzasını doğrular
SSH anahtarı Uzak depoya erişim sağlar
--show-signature Log'da imzaları gösterir

Uzman bölümündeki tüm dersler