HELPER VPS

Windows'tan VPS'e SSH ile bağlanma: PowerShell ve PuTTY kullanımı

Tek bir Windows bilgisayarla ayrıca program satın almadan Linux sunucuya hemen bağlanırsınız. Yerleşik PowerShell ssh komutu ve uzun süredir kullanılan PuTTY olmak üzere iki yöntemi de derledik.

Bağlanmadan önce hazırlanacaklar

SSH, bilgisayarınız ile sunucu arasında şifreli olarak komut alışverişi yapma yöntemidir. Linux VPS'ler SSH sunucusu açık olarak oluşturulur, varsayılan port 22'dir. Bağlanmak için yalnızca üç bilgiye ihtiyacınız vardır.

  • Sunucunun IPv4 adresi: sunucu sayfasının genel bakış bölümünde gösterilir.
  • Kullanıcı adı: başlangıçta root kullanılır.
  • root parolası: sunucu sayfasındaki root parolası alanında Göster'e tıkladığınızda görünür. Ayarlandıktan sonra 7 gün boyunca gösterildiği için parola yöneticinize kaydedin.

Sunucu durumu çalışıyor olarak değiştikten sonra bağlanın. Sunucu oluşturuluyor veya yeniden kuruluyorsa kurulum bitene kadar biraz beklemeniz yeterlidir. Aşağıdaki komutlardaki YOUR_SERVER_IP yerine sunucunuzun IPv4 adresini yazın.

Yöntem 1. PowerShell'in yerleşik ssh komutuyla bağlanma

Windows 10 sürüm 1809 ve sonrası ile Windows 11'de OpenSSH istemcisi varsayılan olarak bulunur. Ayrıca kurmadan PowerShell'de veya Windows Terminal'de Mac ve Linux'takiyle aynı ssh komutunu kullanırsınız.

1. adım. PowerShell'i açın

Başlat menüsünde PowerShell veya Terminal'i arayıp açın. Aşağıdaki komutla ssh'ın hazır olup olmadığını kontrol edin. OpenSSH sürümü tek satır olarak görünürse hazırsınız.

PowerShell
ssh -V

Sürüm yerine komutun bulunamadığına dair bir mesaj çıkarsa Ayarlar'daki isteğe bağlı özelliklerden OpenSSH istemcisini ekleyin. Windows 11'de Ayarlar > Sistem > İsteğe bağlı özellikler, Windows 10'da Ayarlar > Uygulamalar > İsteğe bağlı özellikler altındadır. Yönetici yetkili PowerShell'de aşağıdaki tek satırlık komutla da ekleyebilirsiniz.

PowerShell (Yönetici)
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

2. adım. Sunucuya bağlanın

PowerShell
ssh root@YOUR_SERVER_IP

İlk bağlantıda sunucunun parmak izini kaydetmek isteyip istemediğinizi soran bir mesaj çıkar. yes yazıp Enter'a bastığınızda parmak izi bilgisayarınızdaki known_hosts dosyasına kaydedilir ve bir dahaki sefere sorulmaz. Ardından password alanı çıktığında sunucu sayfasından kopyaladığınız root parolasını yapıştırın.

Windows Terminal ve PowerShell pencerelerinde sağ tıklama veya Ctrl+Shift+V ile yapıştırırsınız. Parolanın yazarken ekranda görünmemesi normaldir; yalnızca bir kez yapıştırıp Enter'a basmanız yeterlidir. İstem root@sunucu-adi:~# biçimine dönüşürse bağlantı başarılıdır.

3. adım. İlk komutu çalıştırın

Bağlanır bağlanmaz sistemi güncellemeniz iyi olur. Ubuntu ve Debian'da apt update && apt upgrade -y, AlmaLinux ve Rocky Linux'ta dnf upgrade -y çalıştırın. Normal kullanıcı oluşturma ve güncelleme adımları ilk giriş rehberinde ayrıntılı olarak yer alır. İşiniz bitince exit ile bağlantıyı sonlandırın.

PowerShell'de SSH anahtarıyla parolasız bağlanma

SSH anahtarı kullanırsanız her seferinde parola yapıştırmanız gerekmez, parolayı tahmin etme girişimlerine karşı da çok daha güçlü olursunuz. Windows'ta da aynı ssh-keygen komutuyla anahtar oluşturursunuz.

PowerShell
ssh-keygen -t ed25519

Kayıt konumu sorulduğunda Enter ile varsayılanı kullanın, anahtar parolası (passphrase) belirlemenizi öneririz. İki dosya C:\Users\KullaniciAdi\.ssh klasöründe oluşturulur. id_ed25519 yalnızca bilgisayarınızda kalacak özel anahtar, id_ed25519.pub ise sunucuya eklenecek genel anahtardır. Genel anahtarın içeriğini aşağıdaki komutla görüp kopyalayın.

PowerShell
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

Yeni bir sunucuysa genel anahtarı hesabınızdaki SSH anahtarları menüsüne yapıştırın; sunucuyu oluştururken o anahtarı seçerseniz en baştan anahtarla bağlanırsınız. Adımlar SSH anahtarı rehberinde yer alır. Kullandığınız bir sunucuya ise aşağıdaki tek satırlık komutla genel anahtarı eklersiniz. Bu sırada root parolasını yalnızca bir kez girersiniz.

PowerShell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@YOUR_SERVER_IP "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Birden fazla sunucunuz varsa bağlantı bilgilerini adlarla kaydetmek pratiktir. C:\Users\KullaniciAdi\.ssh\config dosyasını Not Defteri ile oluşturup aşağıdaki gibi yazarsanız tek kelimelik ssh myvps komutuyla bağlanırsınız.

C:\Users\KullaniciAdi\.ssh\config
Host myvps
    HostName YOUR_SERVER_IP
    User root
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 30

ServerAliveInterval 30 her 30 saniyede bir sinyal göndererek kısa süre başından ayrılsanız da bağlantının uzun süre korunmasını sağlar.

Yöntem 2. PuTTY ile bağlanma

PuTTY, Windows'ta uzun süredir kullanılan ücretsiz bir SSH programıdır. Bağlantı bilgilerini adlara göre kaydedip çift tıklayarak açma yöntemi size uygunsa PuTTY iyi bir seçimdir. Resmi siteden (putty.org) 64 bit kurulum dosyasını (MSI) indirip kurduğunuzda PuTTY ile anahtar oluşturan PuTTYgen birlikte gelir.

1. adım. Bağlantı bilgilerini girin ve kaydedin

  • PuTTY'yi açtığınızda Session ekranı görünür.
  • Host Name alanına sunucunun IPv4 adresini, Port alanına 22 yazın; Connection type'ı SSH olarak bırakın.
  • Soldaki Connection > Data bölümünde Auto-login username alanına root yazın.
  • Connection bölümündeki Seconds between keepalives alanına 30 yazarsanız bağlantı uzun süre korunur.
  • Session ekranına geri dönüp Saved Sessions alanına bir ad (örneğin myvps) yazın ve Save'e tıklayın.

2. adım. Bağlanın

Kaydettiğiniz adı seçip Open'a tıklayın. İlk seferde sunucu parmak izini doğrulayan bir pencere çıkar, Accept'e tıkladığınızda parmak izi kaydedilir. password alanı çıktığında root parolasını sağ tıklayarak yapıştırıp Enter'a basın. PuTTY'de sağ tıklama yapıştırma, yazıyı sürükleyip seçmek ise doğrudan kopyalama işlevi görür.

3. adım. PuTTYgen ile SSH anahtarı kullanma

PuTTYgen'i açıp anahtar türü olarak EdDSA'yı (Ed25519) seçin ve Generate'e tıklayın; ilerleme çubuğu dolana kadar boş alanda fareyi hareket ettirin. Key passphrase belirleyip Save private key ile özel anahtarı .ppk dosyası olarak kaydedin.

Pencerenin üstündeki Public key for pasting into OpenSSH authorized_keys file alanında görünen tek satır genel anahtardır. Bu satırı hesabınızdaki SSH anahtarları menüsüne ekleyin veya kullandığınız sunucudaki ~/.ssh/authorized_keys dosyasının sonuna yapıştırın. Ardından PuTTY'de Connection > SSH > Auth > Credentials bölümündeki Private key file for authentication alanında .ppk dosyasını seçin ve Session ekranında yeniden Save'e tıklayın; bir dahaki sefere parolasız bağlanırsınız.

PowerShell'de oluşturduğunuz OpenSSH anahtarını PuTTY'de de kullanmak isterseniz PuTTYgen'de Conversions > Import key ile id_ed25519 dosyasını açıp .ppk olarak kaydetmeniz yeterlidir. Tek bir anahtarla iki programı birlikte kullanırsınız.

Windows ile sunucu arasında dosya aktarma

PowerShell'de ssh ile birlikte scp komutu da bulunur. Bilgisayarınızdaki dosyaları sunucuya yüklerken veya sunucudaki dosyaları bilgisayarınıza indirirken kullanırsınız.

PowerShell
scp .\site.zip root@YOUR_SERVER_IP:/root/
scp root@YOUR_SERVER_IP:/root/backup.tar.gz .\

Klasörlerin tamamını taşırken scp -r ekleyin. Dosya Gezgini'ndeki gibi sürükle bırak yöntemi size daha uygunsa WinSCP gibi bir SFTP programına aynı adresi, 22 numaralı portu ve root kullanıcısını girmeniz yeterlidir. WinSCP, PuTTY'de kaydettiğiniz oturumları ve .ppk anahtarlarını olduğu gibi içe aktarabilir.

Bağlanamadığınızda kontrol sırası

Sorunların çoğu aşağıdaki dört durumdan biri olduğu için sırayla kontrol ederseniz kısa sürede yeniden bağlanırsınız.

  • Connection timed out: önce sunucu durumunun çalışıyor olduğunu ve IP adresinin doğru olduğunu kontrol edin. Güvenlik duvarını açtıysanız SSH'a (22) izin verilmiş olmalıdır. Şirket veya okul ağları 22 numaralı portu engelleyebildiğinden telefon internet paylaşımı gibi başka bir ağla bir kez deneyin.
  • Permission denied: parolayı yeniden kopyalayıp yalnızca bir kez yapıştırın. Başına veya sonuna boşluk kopyalanıp kopyalanmadığını da kontrol edin. 7 gün geçtiği için parola görünmüyorsa sunucu sayfasındaki yeni root parolası oluşturma ile yeni bir parola alın.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: sunucuyu yeniden kurduğunuzda sunucu parmak izi yeniden oluşturulduğu için çıkan bir uyarıdır. ssh-keygen -R YOUR_SERVER_IP ile kaydedilen eski parmak izini silip yeniden bağlanmanız yeterlidir.
  • Connection refused: sunucudaki SSH hizmeti durmuş veya port değiştirilmiştir. Portu değiştirdiyseniz ssh -p PORT_NUMARASI root@YOUR_SERVER_IP ile bağlanın.

Parolayı yeniden oluşturma ve yeniden kurulumdan sonraki bağlantı adımları yeniden kurulum ve root parolası rehberinde yer alır. Bağlantı başarılıysa temel güvenlik duvarı rehberiyle yalnızca kullandığınız portları açık bırakın.

Sonrasında yapmanız faydalı olanlar

SSH anahtarıyla bağlanabiliyorsanız parolayla girişi kapatarak sunucuyu daha sağlam koruyabilirsiniz. Önce anahtarla bağlantıyı doğrulayın, ardından sunucuda /etc/ssh/sshd_config dosyasındaki PasswordAuthentication değerini no yapıp SSH hizmetini yeniden başlatın. Ubuntu ve Debian'da systemctl restart ssh, AlmaLinux'ta systemctl restart sshd kullanılır.

Web sitesi veya uygulama yayınlamayı planlıyorsanız Docker kurulum rehberi veya WordPress kurulum rehberi ile devam edin. Windows masaüstünün olduğu gibi gerektiği işler için Uzak Masaüstü ile bağlanılan Windows VPS daha uygundur.

Birlikte okumanız faydalı olacak rehberler

Bu rehberle birlikte yapmanızda fayda olan ayarlar.

Tüm rehberleri gör