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.
————————————————————————————

save

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

Github
Gist.Github

Bağlantılar


  1. Random Number Generator Tools https://www.gnu.org/software/hurd/user/tlecarrour/rng-tools.html