GnuPG CheatSheet
| Anahtar Çifti Oluşturma | Anahtar Yönetimi | İmza İşlemleri |
| Şifreleme/Deşifre Etme | Anahtar Sunucusu | Anahtar Düzenleme |
| Akıllı Kartlar | İpuçları | Katkı | Lisans | Referans |
_____ _____ _____ _____ _ _ _ _ | __| _ | __| | | |_ ___ ___| |_ ___| |_ ___ ___| |_ | | | __| | | | --| | -_| .'| _|_ -| | -_| -_| _| |_____|__| |_____| |_____|_|_|___|__,|_| |___|_|_|___|___|_|
Anahtar Çifti Oluşturma
gpg --gen-key
Anahtar çifti oluşturmak için kullanılır.
not: Bu noktadan sonra GnuPG, anahtar çiftinin nasıl oluşturulacağı ile ilgili seçenekler listeler.
2 . adımda satır boş bırakılırsa gpg anahtarı öntanımlı olarak 2048 bit halde oluşturacaktır.
Daha güvenli bir anahtar için 4096 bit seçilmeli. 3. adımda bulunan geçerlilik tarihi için ise;
1 veya 2 yıldan daha uzun bir süre seçmemek yine avantajlı olacaktır.
————————————————————————————
gpg -ao iptal_sertifika.asc --gen-revoke key_id
id’si belirtilen anahtar için, örn. “iptal_sertifika.asc” olarak ASCII zırlı biçimde iptal sertifikası oluşturur.
————————————————————————————
gpg --import iptal_sertifika.asc
örn. “iptal_sertifika.asc” adındaki iptal sertifikasını içe aktarır, böylece hangi anahtar için oluşturulduysa onu iptal eder.
not 0: İptal sertifikasını harici bir depolama alanında saklamak daha doğru olacaktır.
not 1: Herhangi bir nedenle anahtarınızı iptal ettiyseniz, anahtarı kullanacak olan kişilerin de bunu bilmesi gerekir. Eğer sunucu kullanıyorsanız, iptal etmiş olduğunuz anahtarı tekrar
sunucuya göndererek (–send-keys) bunu sağlayabilirsiniz.
Anahtar Yönetimi
gpg --list-secret-keys
Kayıtlı özel anahtarları ve ilgili ayrıntıları (key id, son kullanma tarihi, vs.) listeler
————————————————————————————
gpg --list-keys
Kayıtlı genel anahtarları ve ilgili aytıntıları (key id, son kullanma tarihi, vs.) listeler
————————————————————————————
gpg --fingerprint
Anahtarlara ait parmak izlerini (fingerprint) listeler.
————————————————————————————
gpg --delete-secret-key "kullanici_adi/key_id"
Belirtilen key id veya kullanıcı adına ait özel anahtarı siler.
————————————————————————————
gpg --delete-key "kullanici_adi"
Belirtilen key id veya kullanıcı adına ait genel anahtarı siler.
not: Bu komut belirtilen kullanıcı adına ait bir özel anahtar olmadığında kullanılabilir.
Aksi ihtimalde önce bir üstte bulunan komutu kullanarak özel anahtarı silmeniz gerekir.
————————————————————————————
gpg -ao ozel_anahtar.asc --export-secret-keys "anahtar_id"
id’si belirtilen özel anahtarı, örn. “anahtar.asc” olarak ASCII zırhlı ve açık biçimde dışa aktarır.
————————————————————————————
gpg -a --export-secret-keys "anahtar_id" | gpg -aco ozel_anahtar.gpg.asc
id’si belirtilen özel anahtarı örn. “ozel_anahtar.gpg.asc” olarak, ASCII zırhlı
biçimde şifreli olarak dışa aktarır. Komutun ilk kısmı ise özel anahtarı ekrana yazdırır.
————————————————————————————
gpg -ao genel_anahtar.asc --export "anahtar_id"
id’si ya da kullanıcı adı belirtilen genel anahtarı örn. “genel_anahtar.asc” olarak ASCII zırhlı biçimde dışa aktarır.
————————————————————————————
gpg --allow-secret-key-import --import ozel.anahtar
örn. “ozel.anahtar” adındaki özel anahtarı içe aktarır.
————————————————————————————
gpg --import genel.anahtar
örn. “genel.anahtar” adındaki genel anahtarı içe aktarır.
İmza İşlemleri
gpg --clearsign mesaj.txt
İmzayı metin/mesaj dosyasının içine yazdırır. örn. “mesaj.txt” dosyasını “mesaj.txt.asc” olarak ASCII zırlı biçimde dışarı aktarır.
gpg --verify mesaj.txt.asc
Çıktı olarak; imzanın tarih detaylarını, imzalayanın anahtar id’sini ve doğrulama bilgisi ile birlikte imzalayanın kullanıcı bilgilerini verir.
————————————————————————————
gpg --armor --detach-sign dosya.*
örn. “dosya.* ” dosyasını imzalar, imza dosyasını “dosya.*.asc” olarak ASCII zırlı biçimde dışarı aktarır.
gpg --armor --detach-sign dosya.*.asc dosya.*
Çıktı olarak; imzanın tarih detaylarını, imzalayanın anahtar id’sini ve doğrulama bilgisi ile birlikte imzalayanın kullanıcı bilgilerini verir.
————————————————————————————
gpg --detach-sign dosya.*
örn. “dosya.* ” dosyasını imzalar ve imza dosyasını “dosya.*.sig” olarak dışarı aktarır.
gpg --detach-sign dosya.*.sig dosya.*
Çıktı olarak; imzanın tarih detaylarını, imzalayanın anahtar id’sini ve doğrulama bilgisi ile birlikte imzalayanın kullanıcı bilgilerini verir.
————————————————————————————
gpg --output dosya.sig --sign dosya
örn. dosyayı imzalar ve “dosya.sig” olarak dışarı aktarır.
gpg --output dosya --decrypt dosya.sig
Çıktı olarak; imzanın tarih detaylarını, imzalayanın anahtar id’sini ve doğrulama bilgisi ile birlikte imzalayanın kullanıcı bilgilerini verir.
Şifreleme-Deşifre Etme
gpg -e -u "[email protected]" -r "[email protected]" dosya.*
Gönderen ([email protected]) tarafından, örn. “dosya.*” dosyasını
alıcı ([email protected]) için şifreler ve dosya.*.gpg olarak dışarı aktarır.
————————————————————————————
gpg -e -u "[email protected]" -r "[email protected]" --sign dosya.*
Gönderen ([email protected]) tarafından, örn. “dosya.*” dosyasını alıcı ([email protected]) için şifreler ve imzalar. dosya.*.gpg olarak dışarı aktarır.
gpg -e -r [email protected] --sign dosya.*
Öntanımlı özel anahtarınız ile örn. “dosya.*” dosyasını, alıcı ([email protected]) için şifreler.
————————————————————————————
gpg -d dosya.txt.gpg
Şifreli dosyayı (örn. dosya.txt.gpg) deşifre eder ve yazdırır.
————————————————————————————
gpg -o dosya.* -d dosya.*.gpg
Şifreli dosyayı (örn. dosya.*.gpg) deşifre eder ve belirtilen ad-tür ile dışa aktarır.
Anahtar Sunucusu
gpg --keyserver sunucu_url --send-keys key_id
id’si belirtilen anahtarı istenen anahtar sunucusuna gönrerir.
————————————————————————————
gpg --keyserver sunucu_url --recv-key key_id
id’si belirtilen anahtarı istenen anahtar sunucusundan çeker.
————————————————————————————
gpg --keyserver sunucu_url --search-keys arama_parametresi
Tercih edilen arama parametresine göre, belirtilen anahtar sunucusundan, genel anahtarı/anahtarları numaralandırarak listeler. Girilen numara ile istenen anahtarı çeker.
Anahtar Düzenleme
gpg --edit-key key_id
id’si belirtilen anahtar ile ilgili belirli düzenlemeler yapmak için kullanılır.
Bu noktada id’si belirtilen anahtar için aşağıdaki komutlar uygulanarak bir takım düzenlemeler yapılabilir.
Eğer bir anahtar sunucusu kullanılıyorsa, genel anahtarlar (duruma göre sizin veya başkasının) üzerinde yapmış olduğunuz değişikliklerin bilinmesi için kaydettikten sonra (save) tekrar sunucuya göndermeniz (–send-keys) gerekir.
————————————————————————————
passwd
Belirtilen özel anahtarın passphrase(parola)’ini değiştirmek için kullanılır.
————————————————————————————
sign
Belirtilen anahtarı imzalamak için kullanılır.
not: İmzaladığınız anahtar; ana anahtarınız, size ait bir alt-anahtar veya bir başkasının anahtarı olabilir. Bir başkasının anahtarını imzaladığınız durumda, kaydedip (save) anahtarı sunucuya geri gönderirseniz(–send-keys), bu imza anahtara ait ayrıntılarda görüntülenecektir. Böylece anahtar üzerinde belitrilen hesabın doğru yani e-posta hesabının ve adın gerçek sahibine ait olduğuna dair bir referans oluşturacak. Bu nedenle; kişisel olarak tanışıp, mevcut anahtarın tanıştığınız kişiye ait olduğunu doğrulamadığınız kimselerin anahtarlarını imzalamayınız.
————————————————————————————
expire
Anahtarınızın/anahtarlarınızın kullanım tarihini değiştirmek için kullanılır.
————————————————————————————
addphoto
Belirtilen anahtara görsel eklemek için kullanılır.
not 1 : Görsel jpg formatında ve 240x288px’den büyük olmamalıdır.
not 2: Her anahtar sunucuları bu biçimdeki anahtarları kabul etmez.
————————————————————————————
showphoto
Eğer anahtara görsel eklenmişse bu görseli görüntülemek için kullanılır.
————————————————————————————
Değişiklikleri kaydedip çıkmak için kullanılır.
————————————————————————————
quit
Değişiklikleri kaydetmeden çıkmak için kullanılır.
Akıllı Kartlar [k2]
gpg --card-edit
Cihaza bağlı olan (örn. yubikey, vb.) akıllı kartlara müdahale etmenizi sağlar.
not: Bu noktada gpg aracı, bağlı olan akıllı kartla iletişime girer. Ardından aşağıdaki
komutlar uygulanarak kart üzerinde düzenlemeler yapılır.
————————————————————————————
admin
Kart menüsü içerisinde, yönetici haklarına erişim sağlayarak, akıllı kart içindeki “genel anahtar bağlantsı”, “kart sahibi” gibi bilgileri düzenlemek için kullanılır.
————————————————————————————
name
Akıllı kart sahibinin, ad-soyad bilgilerini düzenlemek için kullanılır.
————————————————————————————
url
Akıllı kart içerisinde genel anahtar bağlantısını tanımlamak için kullanılır.
————————————————————————————
generate
Yeni anahtar çifti oluşturmak için kullanılır.
————————————————————————————
toggle
Listeleme aşamasında genel ve özel anahtarların yer değişimi için kullanılır.
————————————————————————————
key numara
Girilen numara ile alt-anahtarlara işlem yapmak için, numarası belirtilen anahtar işaretlenir.
Örn. sırayla key 1, key 2, key 1 derseniz; önce birinci anahtar ardından 2. anahtar işaretlenir, son olarak 1. anahtarın işareti kalkar.
————————————————————————————
keytocard
Seçilen anahtarların akıllı karta aktarılması için kullanılır.
————————————————————————————
save
Değişiklikleri kaydedip çıkmak için kullanılır.
————————————————————————————
quit
Değişiklikleri kaydetmeden çıkmak için kullanılır.
İpuçları
Anahtar çiftinizin oluşturulma sürecinde daha fazla entropy oluşturmak için rng-tools’u1 kullanabilirsiniz.
örn.
sudo rngd -r /dev/urandom
————————————————————————————
[k1]Her seferinde anahtar sunucusu belirtmemek ve encoding sorunu yaşamamak için "~/.gnupg/gpg.conf" dosyasına aşağıdaki eklemeleri yapabilirsiniz.
utf8-strings
keyserver sunucu_url
————————————————————————————
[k1]Gpg parolanızı(passphrase) belirli bir süre hafızada tutmak için (örn. 12 saat, saniye cinsinden) "~/.gnupg/gpg-agent.conf" aşağıdaki biçimde ekleme yapabilirsiniz.
default-cache-ttl 43200
max-cache-ttl 43200
Referans
The GNU Privacy Guard Manual: https://www.gnupg.org/documentation/manuals/gnupg-2.0/
The GnuPG Smartcard HOWTO: https://www.gnupg.org/howtos/card-howto/en/smartcard-howto.html
Katkı
Barış Büyükakyol -- usrb.in
Samed Beyribey[k1] -- eventualis.org
Arda Kılıçdağı[k2] -- arda.kilicdagi.com
Lisans
Bu döküman GNU Free Documentation License v1.3 altındadır.
Lisans metni: eng / tr
Github
Bağlantılar
- Random Number Generator Tools https://www.gnu.org/software/hurd/user/tlecarrour/rng-tools.html ↩
Yorum Gönder