Ana Sayfa Dersler Kaynakça

SSH Anahtarı

SSH anahtarları, güvenli bağlantıları doğrulamak için kullanılır. Bu dersi takip ederek, bir SSH anahtarı oluşturabilir ve kullanmaya başlayabilirsiniz. Git, uzak depolara push veya pull işlemleri sırasında geleneksel parola doğrulaması yerine SSH anahtarlarını kullanabilmektedir.

SSH, uzaktan dosya transferi, ağ yönetimi ve uzaktan işletim sistemi erişimi gibi işlemler için kullanılmaktadır. SSH, uzak taraflar arasında güvenli bir el sıkışma başlatmak için bir anahtar çifti kullanır. Anahtar çifti, bir genel anahtar ve özel anahtar içerir. Genel anahtarı bir kilit gibi düşünmek konuyu anlamak için yararlı olabilir. Bu genel "kilidi" uzak partilere verip "kilitlemelerini" sağlarsınız. Sonra bu "kilidi" özel anahtarı kullanarak açabilirsiniz.

SSH Anahtarı Nasıl Oluşturulur?

SSH anahtarları açık anahtarlı şifreleme (public key cryptographic) algoritması, genellikle RSA ya da DSA, kullanılarak oluşturulur. En genel haliyle SSH anahtarları bir matematik formülü kullanılarak oluşturulan bir dizidir. Genellikle iki tane asal sayı ve rastgele bir tohum (seed) numarası kullanılarak iki tane (genel ve özel) anahtar oluşturulur. Genel anahtar, özel anahtar kullanılarak bulunabilir. Ama, tam tersi geçerli değildir. Çoğu git hostu SSH anahtarı oluşturmak için size bazı yollar gösterir.

Mac ve Linux İçin

Bu iki işletim sisteminde de SSH anahtarı oluşturmak için gelişmiş konsol komutları barındırmaktadır.

  1. Aşağıdaki komutu konsol pencerenizde yazarak SSH anahtarı oluşturmaya başlayın.
    ssh-keygen -t rsa -b 4096 -C "sizin-email@ornek.com"
    Yukarıdaki komut verilen emaile göre bir SSH anahtarı oluşturur.
  2. Bu komutu kullandıktan sonra sizden anahtarı nereye kaydetmenizi istediğinizi soracaktır. Bir dosya yolu verebilir ya da direkt enter tuşuna basarak varsayılan dosyaya kaydedebilirsiniz.
    > Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
  3. Ardından sizden bir parola isteyecektir. Bu parolanın amacı biri cihazınıza el koyarsa özel anahtarınızın çalınmaması.
    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]
  4. Son aşamamız oluşturduğumuz özel anahtarı ssh-agent programına eklemek. ssh-agent özel anahtarlarımızı tutan bir programdır. Eklemek için önce program açık mı test etmemiz lazım. Aşağıdaki komutu kullanarak bunu test edebiliriz:
    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
    Emin olduktan sonra aşağıdaki komutu kullanarak ssh-agent programına özel anahtarımızı ekleyebiliriz (dosya yolunu önceki komutlardan unutmayınız):
    ssh-add -K /Users/you/.ssh/id_rsa

Windows İçin

Windows ortamlarında standart bir varsayılan Unix kabuğu bulunmamaktadır. Tam bir anahtar oluşturma deneyimi için harici kabuk programlarının yüklenmesi gerekmektedir. En basit seçenek, Git Bash'i kullanmaktır. Git Bash yüklendikten sonra, aynı adımlar Linux ve Mac için olduğu gibi Git Bash kabuğu içinde izlenebilir.

Windows Linux Alt Sistemi

Modern Windows ortamları, Windows Linux Alt Sistemi'ni sunmaktadır. Windows Linux Alt Sistemi, geleneksel bir Windows ortamında tam bir Linux kabuğu sunar. Eğer bir Linux alt sistemi mevcutsa, önceki olarak tartışılan adımlar Linux ve Mac için olduğu gibi Windows Linux Alt Sistemi içinde uygulanabilir.