Git 'Permission Denied (publickey)' Hatası ve Çözümü: Adım Adım Rehber

Git 'Permission Denied (publickey)' hatasının ne olduğunu ve nasıl çözüleceğini detaylı bir şekilde açıklayan adım adım rehber.

BFS

Git ile çalışırken karşılaştığınız hatalardan biri de 'Permission Denied (publickey)' hatasıdır. Eğer GitHub ya da başka bir uzak depo (repository) üzerinde çalışıyorsanız ve SSH ile bağlantı kurmaya çalışıyorsanız, bu hata karşınıza çıkabilir. Bu yazıda, bu hatanın ne olduğunu ve nasıl çözüleceğini adım adım inceleyeceğiz.

Git ‘Permission Denied (publickey)’ Hatası Nedir?

Bu hata, Git'in uzaktaki depoya (GitHub gibi) bağlantı kurarken doğru public key (genel anahtar)'ı bulamaması nedeniyle meydana gelir. Git, güvenlik sebebiyle SSH anahtarları kullanarak bağlantı kurar. Bu SSH anahtarı, kullanıcının kimliğini doğrulamak için gereklidir. Eğer Git, sizin bilgisayarınızda doğru SSH anahtarını bulamazsa, size bu hatayı verir.

Bu hatayı aldığınızda, şöyle bir mesaj görebilirsiniz:

```
Permission denied (publickey).
fatal: Could not read from remote repository.
```

Peki, bu hatayı nasıl çözebilirsiniz?

1. SSH Anahtarınızı Kontrol Edin

İlk yapmanız gereken şey, bilgisayarınızda bir SSH anahtarınızın olup olmadığını kontrol etmektir. Terminal ya da komut satırında aşağıdaki komutu çalıştırarak SSH anahtarlarınızı listeleyebilirsiniz:

ls -al ~/.ssh


Eğer bu komut ile `.ssh` klasörünü bulamıyorsanız, yeni bir SSH anahtarı oluşturmanız gerekir. Anahtarınız varsa, bir sonraki adıma geçebilirsiniz.

2. Yeni Bir SSH Anahtarı Oluşturun

Eğer bilgisayarınızda SSH anahtarı yoksa, yeni bir tane oluşturmak için şu komutları izleyebilirsiniz. Aşağıdaki komutla, yeni bir SSH anahtarı oluşturacağız:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"


Bu komut, yeni bir RSA SSH anahtarı oluşturacaktır. Komutu girdikten sonra, size dosyanın kaydedileceği yeri soracak. Varsayılan yolu kabul edebilir ve bir parola belirleyebilirsiniz (parola belirlemek isteğe bağlıdır, ama önerilir). Anahtarınız başarıyla oluşturulduktan sonra, genel anahtarınız şu dosyada bulunacaktır:

```
~/.ssh/id_rsa.pub
```

3. SSH Anahtarınızı GitHub'a Ekleme

Yeni SSH anahtarınızı oluşturduktan sonra, onu GitHub hesabınıza eklemeniz gerekir. Bunun için, terminalde aşağıdaki komutla anahtarınızı kopyalayın:

cat ~/.ssh/id_rsa.pub


Bu komut, anahtarınızı terminalde gösterecek. Bu anahtarın tamamını kopyalayın.

Sonra GitHub hesabınıza gidin, sağ üst köşedeki profil simgesine tıklayın ve Settings menüsüne girin. Burada, sol menüden SSH and GPG keys sekmesini seçin ve New SSH key butonuna tıklayın. Anahtarınıza bir başlık verin ve kopyaladığınız SSH anahtarını buraya yapıştırın.

4. SSH Bağlantısını Test Edin

Anahtarınızı GitHub'a ekledikten sonra, bağlantıyı test etmek için aşağıdaki komutu çalıştırabilirsiniz:

ssh -T git@github.com


Eğer her şey doğru bir şekilde yapılandırıldıysa, şu mesajı alırsınız:

```
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
```

Bu mesaj, her şeyin düzgün çalıştığını ve artık GitHub'a SSH üzerinden bağlanabildiğinizi gösterir.

5. Git Konfigürasyonunu Kontrol Edin

Son olarak, Git konfigürasyonunuzu kontrol etmek önemlidir. Eğer farklı bir e-posta adresi ya da kullanıcı adı kullanıyorsanız, bu bilgileri doğru şekilde ayarladığınızdan emin olun. Aşağıdaki komutlarla bunu yapabilirsiniz:

git config --global user.name "Your Name"


git config --global user.email "your_email@example.com"


6. Git ve SSH Anahtarını Kullanarak GitHub'a Bağlanmak

Artık her şey hazır! Git komutlarını SSH anahtarıyla kullanarak GitHub'a bağlanabilirsiniz. Örneğin, bir depo klonlamak için şu komutu kullanabilirsiniz:

git clone git@github.com:username/repository.git


Bu komut, GitHub'daki belirli bir depoyu klonlamanızı sağlar. Artık Permission Denied (publickey) hatası almazsınız.

Sonuç

Git ile ‘Permission Denied (publickey)’ hatası, genellikle SSH anahtarınızla ilgili bir sorundan kaynaklanır. Bu yazıda, bu hatayı nasıl çözebileceğinizi adım adım gösterdik. Yeni bir SSH anahtarı oluşturmak, bu anahtarı GitHub'a eklemek ve doğru konfigürasyonu yapmak bu hatayı çözmenizi sağlar.

Herhangi bir hata ile karşılaşırsanız, yukarıdaki adımları tekrar gözden geçirerek adım adım ilerlemeyi unutmayın. Başarıyla GitHub'a bağlandığınızda, her şey çok daha hızlı ve güvenli bir şekilde çalışacaktır.

İlgili Yazılar

Benzer konularda diğer yazılarımız

ASP.NET Core 500 Internal Server Error: Sebepleri ve Çözümleri

Bir web geliştiricisi olarak, karşılaştığınız en zorlayıcı hatalardan biri şüphesiz "500 Internal Server Error"dır. Bu hata, web uygulamanızda her şeyin yolunda gittiğini düşündüğünüz bir anda karşınıza çıkabilir ve tüm projeyi durdurabilir. Ancak merak...

Steam İstemcisinin Çökmesi: Sorunları Çözmek İçin Pratik Adımlar

Steam İstemcisinin Çökme Sorunu Neden Olur?Merhaba! Eğer sen de Steam istemcisinin birden bire çökmesiyle karşılaştıysan, yalnız değilsin. Bu, aslında pek çok Steam kullanıcısının karşılaştığı yaygın bir sorun. Steam, oyun dünyasının en popüler platformlarından...

PHP "Warning: Division by zero" Hatası: Sorun, Çözüm ve Dikkat Edilmesi Gerekenler

PHP dünyasında, programcıların karşılaştığı en yaygın hatalardan biri olan "Warning: Division by zero" hatasını ele alıyoruz. Bu hata, küçük bir bölücü hatasından dolayı uygulamanızın çalışmasını engelleyebilir. Hadi, bu hatayı daha yakından inceleyelim...