Github’da birden fazla repository’yi aynı sunucuda clone’lamak ve her repo için farklı SSH key’ler kullanmak gerektiğinde, her repo için farklı bir SSH key tanımlayarak bu key’leri yönetmek mümkündür. Bu adımları takip ederek çözebilirsiniz:
1. Her repo için ayrı SSH key oluşturun 🔗
Her repo için bir SSH key çifti oluşturmanız gerekiyor:
# Örnek: repo1 için SSH key oluşturma
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/repo1_key
# Örnek: repo2 için SSH key oluşturma
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/repo2_key
Bu komutlar, repo1 ve repo2 için iki farklı SSH key oluşturacaktır. Her key’in private ve public versiyonları ~/.ssh
dizininde saklanacaktır (örneğin, repo1_key
ve repo1_key.pub
).
2. SSH Config dosyasını düzenleyin 🔗
SSH’nin her repository için hangi key’i kullanacağını belirlemek için ~/.ssh/config
dosyasını yapılandırmanız gerekiyor. Bu dosyayı açın (veya oluşturun):
nano ~/.ssh/config
Daha sonra aşağıdaki gibi bir yapı oluşturun:
# repo1 için config
Host github-repo1
HostName github.com
User git
IdentityFile ~/.ssh/repo1_key
# repo2 için config
Host github-repo2
HostName github.com
User git
IdentityFile ~/.ssh/repo2_key
3. Repository URL’lerini düzenleyin 🔗
Artık her SSH key için farklı bir Host
tanımladığınızdan, repository’yi clone ederken custom hostname’i kullanmanız gerekiyor.
Örnek: repo1
için
git clone git@github-repo1:username/repo1.git
Örnek: repo2
için
git clone git@github-repo2:username/repo2.git
Bu şekilde, her repository için belirlediğiniz özel SSH key kullanılacaktır.
4. Deploy Key’leri GitHub’a ekleyin 🔗
Oluşturduğunuz her SSH key’in .pub
uzantılı public key’ini GitHub’a eklemelisiniz.
- GitHub’da ilgili repository’ye gidin.
- Settings > Deploy Keys bölümüne gidin.
Add Deploy Key
seçeneğini seçin ve ilgili.pub
dosyanızın içeriğini buraya yapıştırın.- Her repo için bu adımı tekrarlayın.
Sonuç: 🔗
Bu adımlarla her repository için ayrı SSH key yönetimini sağlayabilir ve sunucunuzda bu repository’leri clone’layabilirsiniz.