Merhaba, bugün sizlere Git çoklu ssh kullanımı ve üretmiş olduğumuz keyleri projelerimizde nasıl kullanacağız en basit şekilde anlatmaya çalışacağım.
Başlamadan önce
Örneklemelerimi MacOS işletim sistemini baz alarak yapacağım. Fakat tüm işletim sistemlerinde aynı yolu izleyerek bağlantı sağlayacağız. Yaratacağım ssh anahtarlarımı gitlab.com üzerinde kullanacağım, GitHub kısmını ise dökümanlarını okuyarak yönergeleri izleyebilirsiniz.
Git çoklu ssh kullanımı ve key üretme
ilk olarak MacOS ve Linux işletim sistemlerinde terminali, windows işletim sistemleri için git bash programını kullanarak bir ssh-keygen üreteceğiz, key etmek için gerekli olan komutumuz ise;
ssh-keygen -t rsa -b 2048 -C “kurtitasarim hesabım keyi”

bu kısımda size dosyayı oluşturacağı dizini ve ismi göstermektedir. Dilerseniz farklı bir dizin ve isim vermeniz sizin tercihinizdir. Fakat dizin aynı olacak şekilde ismi spesifik olarak vermenizi tavsiyem çünkü Config dosyamızda yolu ve belirterek kullanacağız.
Your public key has been saved in /Users/kurtulusoz/.ssh/test_rsa.pub
The key fingerprint is:
SHA256:7dkE/tdgY+BKPHhn2bVZO/UiOJfvVkBd2ZCfp+fTPXs <comment>
The key's randomart image is:
ben ismini test_rsa olarak belirleyip aynı yolu kullandım.
Şimdi gelelim bir Config dosyayı belirlemeye. Config dosyamızı kullanıcı hesabınızın dizini altına işletim sistemine göre değişmektedir; /Users/kurtulusoz/.ssh veya /home/kurtulusoz/.ssh dizinlerinin altına bir adet config isminde bir dosya oluşturacağız.
Bu dosyayı manuel olarak oluşturuyorum, siz oluşturmadan önce bu dizinde dosya var mı kontrol edin.
# sudo su
# nano /Users/kurtulusoz/.ssh/config
terminal komutunu kullanarak düzenleme moduna giriş yapıyoruz. Dilerseniz siz konut satırı olarak;
code /Users/kurtulusoz/.ssh/config
subl /Users/kurtulusoz/.ssh/config
komutlarınıda kullanabilirsiniz fakat bu komutları kullanabilmek için vscode, Sublime text kurulu olması ve PATH kısmına bunları tanımlamanız gerekmektedir.
Config dosyamın örneği;
# normal
Host gitlab.com-batman
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# second
Host gitlab.com-robin
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/test_rsa
IdentityFile yazan kısımları oluşturduğunuz anahtarlarınızın yolu ile güncellemeniz gerekmektedir. Bu işlemleri tamamladıktan sonra config dosyamızda tamamdır.
Nasıl belirleyici komutu kullanıyoruz.
gitlab üzerinden private veya public farketmez projeyi clonelamak için kullanacağınız komut;
git clone [email protected]:innoviayazilim/example.git
git clone [email protected]:kurtulus.oz/happyhours.git
komutlarını kullanıyoruz. Burada dikkat edeceğiniz config dosyanızda belirlediğiniz host ismini kullanmak.
Umarım faydalı olabilmiştir.