husonet | Tarih: 07.02.2025

GCP CLI ile SSH Bağlantısı
GCP üzerinde çalışan sanal makineler (VM Instance) ile etkileşim kurmak için SSH bağlantısı kullanılır.
Google Cloud Platform (GCP), güçlü ve esnek altyapı çözümleri sunan popüler bir bulut platformudur. Bu yazıda, GCP CLI (gcloud) komutlarını kullanarak bir VM Instance’a SSH ile nasıl bağlanacağınızı adım adım öğreneceksiniz.
1. GCP CLI ile SSH Bağlantısına Giriş
GCP CLI (gcloud), Google Cloud üzerinde komut satırı ile işlem yapmayı sağlar. gcloud compute ssh komutu ile sanal makinelere (VM) kolayca erişebilirsiniz.
SSH bağlantısı, aşağıdaki durumlar için gereklidir:
- Google Cloud VM’lerde işlem yapmak,
- Uygulama kodlarını yüklemek,
- Konfigürasyon değişiklikleri yapmak,
- Ağ ve güvenlik ayarlarını düzenlemek.
Aşağıdaki adımları izleyerek GCP VM’lerinize SSH bağlantısı kurabilirsiniz.
2. SSH Keygen ile Anahtar Oluşturma
GCP'ye bağlanırken kendi SSH anahtarlarınızı oluşturmak isterseniz, aşağıdaki adımları takip edebilirsiniz:
SSH Anahtar Çifti Oluşturma
Yeni bir SSH anahtarı çifti oluşturmak için aşağıdaki komutu çalıştırın:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/gcp_key -C "kullanici@ornek.com"
Bu komut şunları yapar:
- -t rsa: RSA şifreleme yöntemi kullanır.
- -b 4096: 4096 bitlik güçlü bir anahtar oluşturur.
- -f ~/.ssh/gcp_key: Anahtar dosyasının ismini ve konumunu belirler.
- -C "kullanici@ornek.com": Açıklama ekleyerek anahtarınızı tanımlamanıza yardımcı olur.
Oluşturduğunuz gcp_key.pub dosyasını, GCP metadata'ya ekleyerek kullanabilirsiniz:
gcloud compute os-login ssh-keys add --key-file ~/.ssh/gcp_key.pub
Bu işlem tamamlandıktan sonra, özel anahtarınızı kullanarak GCP VM'lere bağlanabilirsiniz:
gcloud compute ssh my-vm --zone=us-east4-a --ssh-key-file ~/.ssh/gcp_key
2. GCP CLI Kurulumu ve Proje Seçimi
SSH bağlantısını kullanmadan önce Google Cloud SDK'yı sisteminize kurmalısınız.
GCloud CLI Kurulumu
Eğer henüz Google Cloud SDK yüklenmemişse, şu adımları izleyin:
- Google Cloud SDK İndirme Sayfası adresine gidin.
- İşletim sisteminize uygun kurulum yönergelerini izleyin.
- Kurulum tamamlandıktan sonra terminali açın ve aşağıdaki komutla doğrulayın:
gcloud version
- Eğer sürüm bilgisi görüyorsanız, kurulum başarılıdır.
Proje Seçimi ve Doğrulama
İlk olarak, doğru GCP projesini seçtiğinizden emin olun:
gcloud config set project PROJECT_ID
Mevcut projeyi kontrol etmek için:
gcloud config get-value project
Bu komut, etkin projeyi gösterir.
3. GCP VM Instance’larını Listeleme
Bağlanmak istediğiniz VM’yi görmek için mevcut instance’ları listeleyebilirsiniz:
gcloud compute instances list
Bu komut, tüm VM’leri ve ilgili EXTERNAL_IP (Dış IP) adreslerini listeler.
Örnek çıktı:
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP
my-vm us-east4-a e2-medium 10.128.0.2 34.122.100.50
Burada, my-vm adındaki instance’a bağlanacağız.
4. GCP VM Instance’a SSH ile Bağlanma
VM’ye SSH ile bağlanmak için aşağıdaki komutu çalıştırın:
gcloud compute ssh my-vm --zone=us-east4-a
Değiştirmeniz gereken alanlar:
- my-vm: Bağlanmak istediğiniz VM’nin adı.
- us-east4-a: VM’nin bulunduğu zone (bölge).
Komut çalıştırıldığında:
- Google Cloud, SSH anahtarlarını otomatik olarak oluşturur ve yükler.
- Bağlantı kurulur ve terminal üzerinden makineye erişim sağlarsınız.
Özel SSH Anahtarı Kullanarak Bağlanma
Eğer kendi SSH anahtarınızı kullanarak bağlanmak istiyorsanız:
gcloud compute ssh my-vm --zone=us-east4-a --ssh-key-file ~/.ssh/my_key
Burada my_key dosyanızın mevcut olması gerekmektedir.
5. SSH Bağlantısı Sorunlarını Giderme
Bazı durumlarda SSH bağlantısı başarısız olabilir. İşte yaygın hatalar ve çözümleri:
1. Firewall Kuralları SSH Trafiğine Kapalı Olabilir
GCP üzerinde firewall kurallarını kontrol edin ve SSH (port 22) trafiğine izin verildiğinden emin olun:
gcloud compute firewall-rules list
Eğer SSH için bir kural yoksa, aşağıdaki komut ile yeni bir kural oluşturabilirsiniz:
gcloud compute firewall-rules create allow-ssh \
--direction=INGRESS \
--priority=1000 \
--network=default \
--action=ALLOW \
--rules=tcp:22 \
--source-ranges=0.0.0.0/0
Bu, tüm IP adreslerinden SSH bağlantısını kabul eder. Daha güvenli bir yapılandırma için sadece belirli IP’lere izin verebilirsiniz.
2. VM Çalışır Durumda Olmalı
Eğer bağlantı başarısız olursa, VM’nin çalışıp çalışmadığını kontrol edin:
gcloud compute instances describe my-vm --zone=us-east4-a
Eğer status: TERMINATED görüyorsanız, VM’yi başlatmalısınız:
gcloud compute instances start my-vm --zone=us-east4-a
3. SSH Anahtarları Güncellenmemiş Olabilir
SSH anahtarlarını manuel olarak GCP metadata'ya eklemek için:
gcloud compute os-login ssh-keys add --key-file ~/.ssh/my_key.pub
Bu komut, özel anahtarınızı GCP’deki metadata'ya ekleyecektir.
6. GCP VM’den Çıkış Yapma
Bağlantıyı sonlandırmak için terminalde exit komutunu kullanabilirsiniz:
exit
Bu işlem, SSH oturumunu kapatır ve terminali yerel makinenize döndürür.
İlgili konular
Elastic İP nedir ve nasıl kullanılır?