Git’in güvenliği için SSH (Secure Shell) sıkça kullanılan bir yöntemdir. SSH, ağ üzerinden güvenli bir şekilde iletişim kurmanın bir yoludur ve Git, projelerinizi uzak sunucularla etkileşimde bulunmak için SSH protokolünü kullanabilir.
SSH, ağ yönetimi, uzaktan dosya aktarımı ve uzaktan sistem erişimi için kullanılan güvenli bir kriptografik ağ protokolüdür.
SSH, kimliği doğrulanmış ve şifrelenmiş bir güvenli ağ protokolü oluşturmak için bir çift SSH anahtarı kullanır. Güvenli olmayan açık ağlarda güvenli uzaktan iletişime olanak tanır.
SSH’nin temel bileşenleri şunlardır:
Linux ve Apple için komut satırında ve Windows için Git Bash’te bir SSH anahtarı oluşturabilirsiniz. Örneğin E-mail adresini etiket olarak kullanarak yeni bir anahtar oluşturarak başlayabiliriz:
ssh-keygen -t rsa -b 4096 -C "mail@gelecekkodlarda.com"
Komutu yazdıktan sonra aşağıdaki gibi sizlere bir soru soracaktır. Soruda private anahtar ~/.ssh/id_rsa
dosyasına kayıt edeceğini değiştirmek isteyip istemediğinizi sorar. Eğer bu konum sizin için uygunsa, sadece Enter tuşuna basarak devam edebilirsiniz.
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/alkanfatih/.ssh/id_rsa):
Sonrasından bizden bir şifre belirlememizi isteyecektir. Bilgisayara erişim sağlayan herkesin bu anahtarı parola olmadan kullanmasının engellenmesi için.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Sonuç anahtar çifti başarılı bir şekilde oluşturuldu.
Your identification has been saved in /Users/alkanfatih/.ssh/id_rsa.
Your public key has been saved in /Users/alkanfatih/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:H+AXmSU/+gH0PkMK5yXrp/yAZewdf5fhz3pX+SoUq3s mail@gelecekkodlarda.com
The key's randomart image is:
+---[RSA 4096]----+
| o . |
| . B |
| o B * |
| . * @.. |
| S @ *o ..|
| O +o*..+|
| . =o+ .o=|
| ..+E o*|
| ++..o++|
+----[SHA256]-----+
Şimdi bu SSH anahtar çiftini SSH-Agent’a ekliyoruz (yukarıdaki dosya konumunu kullanarak):
ssh-add /Users/user/.ssh/id_rsa
Enter passphrase for /Users/user/.ssh/id_rsa:
Identity added: /Users/user/.ssh/id_rsa (mail@gelecekkodlarda.com)
Parolayı eklediyseniz sizden parolayı girmeniz istenecektir. Artık SSH anahtar çifti kullanıma hazır.
SSH anahtarınızı doğru bir şekilde ekledikten sonra, Git sunucusuna erişim sağlamak için bir komut deneyebilirsiniz. Örneğin, bir projeyi klonlamak için:
git clone git@github.com:kullanici_adi/proje_adi.git
Bu adımları izleyerek, Git sunucusuna SSH anahtarını ekleyebilir ve uzak depolarla güvenli bir şekilde etkileşimde bulunabilirsiniz.