Git
Chapters ▾ 2nd Edition

4.3 Git on the Server - SSH Ortak Anahtarınızı Oluşturma

SSH Ortak Anahtarınızı Oluşturma

Birçok Git sunucusu, kullanıcı kimliklerini SSH ortak anahtarları ile doğrular. Bir ortak anahtar elde etmek için, sistemdeki ortak anahtarı olmayan her kullanıcının, bir adet oluşturması gerekir. Bu süreç tüm işletim sistemlerinde benzerdir. İlk olarak, zaten bir anahtarınızın olup olmadığını kontrol etmelisiniz. Varsayılan olarak, bir kullanıcının SSH anahtarları, kullanıcının ~/.ssh dizininde depolanır. Bu dizine gidip içeriği listeleyerek zaten bir anahtarınız olup olmadığını kolayca kontrol edebilirsiniz:

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

id_dsa veya id_rsa gibi adlara sahip bir çift dosya arıyorsunuz ve buna uygun .pub uzantılı bir dosya. .pub dosyası ortak anahtarı temsil eder, diğer dosya ise buna karşılık gelen özel anahtardır. Bu dosyalara sahip değilseniz (veya .ssh dizininiz bile yoksa), Linux/macOS sistemlerinde SSH paketi ile birlikte sağlanan ve Windows için Git ile birlikte gelen ssh-keygen adlı bir programı çalıştırarak bunları oluşturabilirsiniz.

$ ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local

İlk olarak, anahtarın nereye kaydedileceğini onaylar (.ssh/id_rsa), ardından iki kez bir parola sorar (eğer anahtarı kullanırken bir şifre girmek istemiyorsanız, boş bırakabilirsiniz). Ancak, bir parola kullanıyorsanız, parola kırma saldırılarına karşı daha dirençli olan bir formatta özel anahtarı kaydetmek için -o seçeneğini eklediğinizden emin olun (varsayılan formattan daha güvenlidir). Ayrıca, her seferinde parolayı girmekten kaçınmak için ssh-agent aracını da kullanabilirsiniz.

Şimdi, bunu yapan her kullanıcı, ortak anahtarlarını size veya Git sunucusunu yöneten kişiye (eğer ortak anahtarları gerektiren bir SSH sunucu kurulumu kullanıyorsanız) göndermek zorundadır. Yapmaları gereken tek şey .pub dosyasının içeriğini kopyalayıp e-posta ile göndermektir. Ortak anahtarlar şu şekilde görünür:

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local

Farklı işletim sistemlerinde SSH anahtarı oluşturma konusunda daha detaylı bilgi için, SSH anahtarı oluşturma konusundaki GitHub rehberine göz atabilirsiniz: https://help.github.com/articles/generating-ssh-keys.

scroll-to-top