Pythontr

husonet | Tarih: 07.02.2025

GCP CLI ile SSH Bağlantısı

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?