gokayburuc

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"

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

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 main kı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.

#git #github #termux