Termux'ta GitHub SSH Kurulumu ve Kullanımı Kılavuzu
Termux için Gerekli Paketlerin Yüklenmesi
İlk olarak Termux için gerekli paketleri yüklüyoruz.
pkg update && pkg upgrade
pkg install git openssh
SSH Key (Anahtar) Oluşturma
SSH anahtar çifti (public/private key) oluşturun.. Bu anahtar, GitHub ile kimlik doğrulaması için kullanılacaktır.
ssh-keygen -t ed25519 -C "gokayburuc@gmail.com"
-t ed25519Güvenli ve modern bir anahtar türü.-C "gokayburuc@gmail.com"Yorum eklemek için e-posta adresinizi kullanın.
Alternatif olarak diğer bir yaklaşım olarak rsa kullanılabilir.
ssh-keygen -t rsa -b 4096 -C "gokayburuc@gmail.com"
Burada tek fark dosya konumu ve dosya adıdır. Varsayılan olarak ~/.ssh/id_ed25519 veya ~/.ssh/id_rsa olarak kaydedilir.
Burada isteğe bağlı bir parola belirleyebilirsiniz.
SSH Ajanı Başlatma
Termux'ta SSH ajanını başlatın ve anahtarınızı ekleyin:
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_ed25519
Github'a SSH Key Ekleme
Sisteminizde şuan mevcut olarak bir Public key olmalı. Bunu görüntüleyebilmek için aşağıdaki komutu yazın:
cat ~/.ssh/id_ed25519.pub
Burada sisteminizde oluşturduğunuz SSH Anahtarına dair çıktıyı kopyalayın ve Github'a ekleyin
Bunu yapabilmek için aşağıdaki yolu izlemeniz gerekiyor.
- GitHub'a gidin: https://github.com/settings/keys
- "New SSH Key" butonuna tıklayın.
- Title: Termux (veya istediğiniz bir isim).
- Key: Kopyaladığınız public key'i yapıştırın.
- "Add SSH Key" butonuna tıklayın.
Github SSH Bağlantısını Test Etme
SSH Bağlantısını aşağıdaki komut ile test edin:
ssh -T git@github.com
Eğer işlem başarılı olursa, ekranda şöyle bir mesaj görmeniz gerekir:
Hi gokayburuc! You've successfully authenticated, but GitHub does not provide shell access.
Git Yapılandırması
Git üzerinde config işlemlerini aşağıdaki şekilde yapmanız gerekiyor:
git config --global user.name "Gokay BURUC"
git config --global user.email "gokayburuc@yandex.com"
Github Deposunu SSH İle Klonlama
Normalde :
git clone https://github.com/gokayburuc/helix-themes.git
Fakat biz aşağıdaki değişiklikleri yapacağız:
git clone git@github.com:gokayburuc/helix-themes.git
Burada dikkat ederseniz aşağıdaki farklar var:
https://github.comyerinegit@github.comkullandık.github.com/gokayburucifadesi yerinegithub.com:gokayburucibaresi kullanıyoruz.
SSH Kullanarak Git işlemleri
Bu aşamadan sonra artık doğrudan hiçbir kimlik doğrulaması (authentication) gerektirmeden tanımlı PC veya cihaz ile Github arasında commit, push, pull, fetch gibi özelliklerden faydalanabiliyoruz.
Değişiklik ekleme ve Commit Etme
git add .
git commit -m "Değişiklik Mesajı"
Değişiklikleri Github'a Yollama
git push origin main
Burada
mainkısmı yerine eğer başka bir branch (dal) kullanıyorsanız bu ad gelmelidir.
Termux SSH Troubleshoot
SSH Anahtarını Silme
rm ~/.ssh/id_ed25519*
Bu komut ile hem id_ed25519 ve hem de id_ed25519.pub dosyalarının ikisini birden siliyoruz.
Git Remote URL'ini SSH Uyumlu Hale Getirmek
Öncelikle cd komutu ile sizin repo path'inize giriş yapıyoruz ve burada mevcut remote URL adresini kontrol ediyoruz.
cd <your_repo_path>
git remote -v
Eğer ekrana gelen çıktı aşağıdaki gibiyse standart bağlantı mevcuttur bunu SSH bağlantısını uyumlu hale getirmek gerekir.
origin https://github.com/gokayburuc/depo-adi.git (fetch)
origin https://github.com/gokayburuc/depo-adi.git (push)
Şimdi depo-adi isimli temsili bir repository ele aldık ve bunun URL adresini aşağıdaki şekilde güncelliyoruz:
git remote set-url origin git@github.com:gokayburuc/depo-adi.git
Şimdi yaptığımız işlem sonrasında tekrar doğrulama işlemi gerçekleştiriyoruz:
git remote -v
Artık repo URL adresimiz aşağıdaki şekilde güncellendi:
origin git@github.com:gokayburuc/depo-adi.git (fetch)
origin git@github.com:gokayburuc/depo-adi.git (push)
Bu aşamadan sonra git push origin main diyerek doğrudan şifre gerektirmeksizin push işlemlerimizi gerçekleştirebiliriz.