Blog / Makaleler

GCP sunucularına Putty ve WinSCP bağlantısı yapma

Bu yazı 2020 yılından. Anlatılan sürümler, fiyatlar ve adresler o günden bu yana değişmiş olabilir.

Google Cloud Platform (GCP), güvenlik nedeniyle sunuculara doğrudan parolayla SSH/SFTP bağlantısına izin vermez; bağlantı için bir SSH anahtarı tanımlamanız gerekir. Bu yüzden birçok kişi GCP'deki tarayıcı konsolu dışında bir yöntemle bağlanmayı başaramıyor. Bu yazıda PuTTY ve WinSCP ile nasıl bağlanacağınızı anlatacağım.

Güncelleme (Kasım 2026): Bu yazıyı 2020'de yazmıştım. PuTTY arayüzü o günden beri değişti (anahtar dosyasını seçtiğimiz yer yeni bir sekmeye taşındı), onu güncelledim. Bir de yazının sonundaki izin (chmod) tavsiyesi güvenlik açısından sakıncalıydı, onu da düzelttim.

Kolay yol: Eğer illa PuTTY/WinSCP şart değilse, Google'ın gcloud komut satırı aracını kurup gcloud compute ssh sunucu-adi yazarak hiç anahtarla uğraşmadan bağlanabilirsiniz; gcloud anahtar işini kendisi hallediyor. Aşağıdaki yöntem, özellikle WinSCP ile dosya aktarmak ya da PuTTY kullanmak isteyenler için.

1. PuTTYgen ile anahtar oluşturmak

Önce anahtarımızı oluşturacak PuTTYgen programını indiriyoruz. PuTTY'nin resmi sitesi putty.org üzerinden PuTTY paketini kurduğunuzda PuTTYgen ve WinSCP için gereken her şey de gelir.

PuTTYgen'i açıp sağdaki Generate butonuna basıyoruz. İstediği gibi fare imlecini pencere içinde birkaç saniye gezdirin, bu rastgeleliği artırıp anahtarı oluşturuyor.

Anahtar oluşunca dikkat etmeniz gereken yer Key comment kısmı. GCP, bu yorum alanındaki metni sunucudaki kullanıcı adınız olarak kullanıyor. Buraya Google hesabınızın e-postasının @ işaretinden önceki kısmını yazın (örneğin e-postanız alifurkan@gmail.com ise buraya alifurkan yazın). Bağlanırken de aynı kullanıcı adını kullanacağız.

Sonra en üstteki kutuda görünen anahtarın (OpenSSH genel anahtarı) tamamını kopyalayıp bir metin belgesine kaydedin, bir sonraki adımda lazım olacak. Ardından bir klasör oluşturup Save public key ve Save private key butonlarıyla iki dosyayı da o klasöre kaydedin. Özel anahtar .ppk uzantılı olur, bağlanırken onu kullanacağız.

Puttygen

2. Anahtarı GCP'ye tanıtmak

Google Cloud Platform'a giriş yapıp Compute Engine > VM örnekleri kısmından sunucumuzu seçiyor ve Düzenle'ye basıyoruz. Aşağı indiğinizde SSH Anahtarları bölümünü göreceksiniz. Öğe ekle butonuna basıp bir önceki adımda kopyaladığımız anahtarı buraya yapıştırıyoruz ve en aşağıdan Kaydet'e basıyoruz.

SSH Key

Önemli not: Bu yöntem, projenizde OS Login kapalıysa çalışır. Bazı projelerde OS Login açık olur; o zaman sunucuya tek tek anahtar eklenmesine izin verilmez ve kullanıcı adı doğrudan Google hesabınızdan belirlenir. "Öğe ekle" ile eklediğiniz anahtar işe yaramıyorsa büyük ihtimalle OS Login açıktır; bu durumda yukarıda bahsettiğim gcloud yöntemiyle bağlanmanız gerekir.

3. PuTTY ve WinSCP ile bağlanmak

İkisi de aynı .ppk dosyasını kullanıyor; anlatımını ayrı ayrı yapacağım.

WinSCP

WinSCP'yi açıyoruz. Gelen oturum penceresinde:

  • Sunucu adı kısmına sunucunuzun dış (external) IP adresini yazın.
  • Kapı numarası 22 olarak kalsın.
  • Kullanıcı adı kısmına 1. adımda Key comment'e yazdığınız adı yazın (e-postanızın @ öncesi kısmı).
  • Parola kısmını boş bırakın.

Sonra Gelişmiş butonuna tıklayın, açılan pencerede sol menüden SSH > Kimlik doğrulama sekmesine gelin. Kişisel anahtar dosyası kısmından PuTTYgen ile kaydettiğiniz .ppk dosyasını seçin ve Tamam ile kapatın. Artık Oturum Aç butonuyla sunucunuza SFTP olarak bağlanıp dosyalarınızı aktarabilirsiniz.

WinSCP SSH Auth Key

PuTTY

PuTTY'yi açıp Host Name kısmına sunucunuzun dış IP adresini girin. Sonra sol menüden anahtar dosyasını tanıtacağız. Burada dikkat: PuTTY'nin yeni sürümlerinde (0.78 ve üzeri) bu ayarın yeri değişti.

  • Yeni sürümlerde: Sol menüden Connection > SSH > Auth > Credentials yolunu izleyin.
  • Eski sürümlerde: Connection > SSH > Auth yeterliydi.

Açılan ekrandaki Private key file for authentication kısmından Browse ile .ppk dosyanızı seçin. Sonra sol menüden tekrar Session bölümüne dönün. İsterseniz Saved Sessions kısmına bir isim yazıp Save diyerek bu ayarları kaydedebilirsiniz, bir dahaki sefere tek tıkla bağlanırsınız. Open butonuna bastığınızda, karşınıza kullanıcı adı sorulduğunda 1. adımdaki adı yazın ve bağlanın.

Putty SSH Auth Key

İpuçları

Root yetkisine geçmek: GCP sunucularında doğrudan root ile giriş kapalıdır. Bağlandıktan sonra yönetici yetkisi için:

Terminal
sudo -i

Bu sizi root hesabına geçirir, ayrı bir parola gerektirmez.

İzin (permission) hatası alıyorsanız: WinSCP'de bir dosyayı düzenlerken "izin yok" hatası alırsanız, bunun doğru çözümü o dosya/klasörün sahibini kendi kullanıcınız yapmaktır:

Terminal
sudo chown -R kullanici_adiniz:kullanici_adiniz /home/klasor

(kullanici_adiniz yerine 1. adımdaki adınızı yazın.)

⚠️ Eski yazıda burada chmod -R 777 öneriyordum, bunu yapmayın. 777, o dosyaya sistemdeki herkesin okuma, yazma ve çalıştırma izni vermesi demektir; özellikle chmod -R 777 ./ ile tüm sunucuya uygularsanız sunucunuzu ciddi bir güvenlik riskine atarsınız. İzin sorununun doğru çözümü yukarıdaki gibi dosyanın sahibini düzeltmektir, herkese açmak değil.

Bu yazıyı paylaşXFacebook