Git 'Permission Denied (publickey)' Hatası ve Çözümü: Kolayca Çözebileceğiniz Adımlar

Bu yazı, Git kullanıcılarının karşılaştığı "Permission Denied (publickey)" hatasını çözmek için adım adım bir rehber sunuyor.

BFS

Git kullanırken karşılaştığınız o meşhur *"Permission Denied (publickey)"* hatası, geliştiricilerin başını en çok ağrıtan sorunlardan biri. İşte, bu hata ile karşılaştığınızda yaşadığınız stresli anları hepimiz biliyoruz. Git ile çalışmaya başlamak harika bir adım ama bazen bazı engellerle karşılaşabilirsiniz. Bu engellerden biri de SSH anahtarlarının doğru yapılandırılmaması.

Bugün, bu hatanın ne olduğunu, neden meydana geldiğini ve nasıl çözüleceğini detaylı bir şekilde inceleyeceğiz. Eğer Git ile çalışmaya yeni başladıysanız, endişelenmeyin! Adım adım her şeyi açıklayacağız. Hazırsanız, başlayalım!

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

Git ile bir uzak depoya (repository) bağlanmaya çalışırken “Permission Denied (publickey)” hatası alırsınız. Bu hata, Git’in sizin bilgisayarınızla bağlantı kurmaya çalıştığı uzak sunucunun kimlik doğrulaması yaparken SSH anahtarınızı bulamamasından kaynaklanır. Yani, Git size “Kim olduğunu bilemiyorum!” der.

Genellikle bu hata, SSH anahtarınızın Git sunucusuna eklenmemiş olması nedeniyle ortaya çıkar. Git sunucusu, bağlantınızı doğrulamak için public SSH anahtarınızı bekler, ama bulamadığında işte bu hata mesajını verir.

Hata Neden Meydana Gelir?

Git ile bir repo'ya push ya da pull işlemi yaparken, Git öncelikle kimliğinizi doğrulamak ister. Bu doğrulama işlemi, *public key* ve *private key* ikilisiyle sağlanır. Bu anahtarlar, bilgisayarınız ile Git sunucusu arasında güvenli bir iletişim kurmanızı sağlar. İşte bu noktada bir hata meydana gelirse, yani public key kaybolursa ya da yanlış ayarlanırsa, Git bağlantıyı doğrulayamadan işlem yapmaya çalışır ve *Permission Denied* hatası alırsınız.

Adım Adım Çözüm

Endişelenmeyin, bu hata çok yaygın ve çözümü oldukça basit! Şimdi adım adım çözümü nasıl yapacağınızı anlatacağım:

# 1. SSH Anahtarınızı Kontrol Edin

İlk adımda, SSH anahtarınızın doğru şekilde oluşturulup oluşturulmadığını kontrol etmemiz gerekiyor.

Aşağıdaki komutla mevcut anahtarları kontrol edebilirsiniz:

ls -al ~/.ssh


Bu komut, *~/.ssh* dizinindeki tüm dosyaları listeler. Eğer burada `id_rsa` ve `id_rsa.pub` dosyaları varsa, bu anahtar çiftinizin mevcut olduğunu gösterir. Eğer bu dosyalar yoksa, yeni bir SSH anahtarı oluşturmanız gerekecek.

# 2. Yeni Bir SSH Anahtarı Oluşturun

Eğer SSH anahtarınız yoksa, yeni bir anahtar oluşturmak oldukça basit. Şu komutu kullanarak yeni bir SSH anahtarı oluşturabilirsiniz:

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


Bu komut, size birkaç soru soracaktır. Genellikle varsayılan seçenekleri kabul edebilirsiniz. Anahtarınız başarılı bir şekilde oluşturulduğunda, yeni anahtarlarınız *~/.ssh* dizininde görünecektir.

# 3. SSH Anahtarınızı Git Sunucusuna Ekleyin

Anahtarınız oluşturulduktan sonra, public anahtarınızı Git sunucusuna (GitHub, GitLab vb.) eklemeniz gerekecek. Public anahtarınızı görmek için şu komutu kullanabilirsiniz:

cat ~/.ssh/id_rsa.pub


Bu komut, *id_rsa.pub* dosyasının içeriğini terminalde gösterecektir. Buradaki tüm içeriği kopyalayın ve GitHub/GitLab gibi Git platformunuzda SSH anahtarları kısmına ekleyin.

# 4. SSH Bağlantınızı Test Edin

SSH anahtarınızın doğru şekilde yapılandırıldığından emin olmak için, şu komutla bağlantınızı test edebilirsiniz:

ssh -T git@github.com


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

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


# 5. Git Konfigürasyonunu Yapın

Son olarak, Git’in doğru kullanıcı adı ve e-posta ile yapılandırıldığından emin olun. Aşağıdaki komutları kullanarak bilgilerinizi kontrol edebilir ve güncelleyebilirsiniz:

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

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


Sonuç

İşte bu kadar! Git ile ilgili *"Permission Denied (publickey)"* hatasını çözmek için izlemeniz gereken adımlar oldukça basittir. SSH anahtarınızı oluşturduktan ve Git sunucusuna ekledikten sonra, artık sorunsuz bir şekilde çalışabilirsiniz.

Bu hata bir geliştiricinin korkulu rüyası olsa da, çözümü oldukça kolaydır. Umuyorum ki bu rehber, Git dünyasında size yardımcı olur. Eğer hâlâ sorun yaşıyorsanız, çözüm için doğru adımların izlendiğinden emin olun ve yine de bir hata ile karşılaşırsanız, tekrar gözden geçirin!

İlgili Yazılar

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

NetBeans Debugging Başlatılmıyor – Çözüm Adımları ile Sorunu Gidermek

Her programcı, özellikle de yeni başlayanlar, zaman zaman NetBeans gibi popüler bir IDE kullanırken sorunlarla karşılaşabilirler. Bu sorunlar arasında en sinir bozucusu, şüphesiz "Debugging Başlatılmıyor" hatasıdır. Ancak merak etmeyin, bu hata tek bir...

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

OAuth2 Authentication Error: Nedenleri ve Çözümleri

OAuth2 Authentication Error: Gerçekten Neyin Peşindeyiz?Her geliştirici, kimlik doğrulama hatalarıyla bir noktada karşılaşmıştır. Ama bazen işler kontrolden çıkabiliyor. Eğer bir gün OAuth2 ile çalışırken bir kimlik doğrulama hatası aldığınızda, yalnız...