‘Permission Denied (publickey)’ Hatası Nedir?
Git ile bir uzak depoya (remote repository) erişmeye çalıştığınızda, bu hatayı alırsınız. Git, belirli bir sunucuyla bağlantı kurmaya çalışırken, SSH anahtarınızı doğrulamaya çalışır. Eğer doğrulama başarısız olursa, Git “Permission Denied (publickey)” hatasını verir. Bu, GitHub, GitLab veya diğer Git servis sağlayıcıları ile bağlantı kurmaya çalıştığınızda sıklıkla karşılaşılan bir sorundur.
Eğer Git, SSH anahtarınızı doğru şekilde kullanamıyorsa, size bu hatayı verecektir. Ama korkmayın! Çözüm çok basit.
Adım Adım Çözüm: ‘Permission Denied (publickey)’ Hatasını Nasıl Giderirsiniz?
Adım 1: SSH Anahtarınızı Kontrol Edin
İlk olarak, bilgisayarınızda bir SSH anahtarınız olup olmadığını kontrol etmeniz gerekir. Bunu terminalde şu komutla yapabilirsiniz:
ls -al ~/.ssh
Eğer bu komut, `.ssh` klasöründe herhangi bir anahtar göstermiyorsa (örneğin, `id_rsa` veya `id_ed25519`), yeni bir SSH anahtarı oluşturmanız gerekir. Anahtar oluşturmak için şu komutu kullanabilirsiniz:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Bu komut, bilgisayarınızda yeni bir SSH anahtarı oluşturacak ve bunu güvenli bir şekilde saklamanızı sağlayacaktır.
Adım 2: SSH Anahtarınızı GitHub’a Ekleyin
SSH anahtarınızı oluşturduktan sonra, onu GitHub hesabınıza eklemeniz gerekir. Bunu yapmak için şu adımları izleyin:
1. `id_rsa.pub` dosyanızın içeriğini terminalde şu komutla görüntüleyin:
cat ~/.ssh/id_rsa.pub
2. Bu komutu çalıştırdıktan sonra, ekranınıza uzun bir karakter dizisi çıkacak. Bu karakter dizisini kopyalayın.
3. GitHub hesabınıza giriş yapın ve sağ üst köşede bulunan profil simgesine tıklayın. “Settings” (Ayarlar) seçeneğine gidin.
4. Sol menüden “SSH and GPG keys” bölümüne tıklayın ve “New SSH key” butonuna basın.
5. Açılan alana, kopyaladığınız SSH anahtarını yapıştırın ve kaydedin.
Adım 3: SSH Bağlantısını Test Edin
Anahtarınızı GitHub’a ekledikten sonra, bağlantınızın doğru çalışıp çalışmadığını test edebilirsiniz. Terminalde şu komutu girin:
ssh -T git@github.com
Eğer her şey doğruysa, şu şekilde bir mesaj alırsınız:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
Bu mesaj, SSH anahtarınızın başarıyla doğrulandığını ve artık GitHub’a bağlanabileceğinizi gösterir.
Adım 4: Git Remote URL’sini Kontrol Edin
Bir başka olasılık da, uzak depo URL’nizin yanlış olmasıdır. GitHub, HTTPS ve SSH olmak üzere iki farklı bağlantı türü sunar. Eğer HTTPS bağlantısı kullanıyorsanız ve SSH anahtarıyla bağlanmak istiyorsanız, uzak depo URL’sini SSH formatına değiştirebilirsiniz.
Bunu yapmak için şu komutu kullanın:
git remote set-url origin git@github.com:username/repository.git
Bu komut, GitHub deponuzun URL’sini SSH formatına günceller.
Sonuç: Artık Git’iniz Sorunsuz Çalışıyor!
Bu adımları takip ederek, Git’inizde karşılaştığınız ‘Permission Denied (publickey)’ hatasını çözebilirsiniz. Şimdi, GitHub üzerindeki projelerinizle güvenli bir şekilde çalışabilir, kodunuzu sorunsuz bir şekilde gönderebilir ve alabilirsiniz.
Git ve SSH bağlantılarının biraz kafa karıştırıcı olabileceğini biliyoruz, ancak doğru yapılandırmayla işler oldukça basit hale gelir. Bu basit adımlarla, projelerinizi hızlıca yönetebilirsiniz!