Sunucu

SSH Nasıl Bağlanılır? Güvenli Sunucu Erişimi

Bu rehber, SSH ile sunucuya güvenli bağlanma adımlarını, gerekli bilgileri, SSH key kullanımını, port ayarlarını ve yaygın hata çözümlerini anlatır.

Yazan Onur Kaya 8 dk okuma 1 görüntülenme
Terminal ekranından uzak sunucuya güvenli SSH bağlantısını anlatan anahtar ve kalkanlı teknik illüstrasyon.
İçindekiler
  1. SSH Nedir ve Neden Kullanılır?
  2. SSH ile Bağlanmak İçin Gerekli Bilgiler
  3. SSH Nasıl Bağlanılır? Windows, macOS ve Linux Adımları
  4. macOS ve Linux’ta bağlantı
  5. Windows’ta bağlantı
  6. Tek komutla uzak komut çalıştırma
  7. SSH Portu ve Temel Güvenlik Ayarları
  8. Şifre Yerine SSH Key ile Giriş
  9. Sık Görülen SSH Bağlantı Hataları
  10. Sunucuda SSH Kullanırken Güvenlik İpuçları
  11. Kısa Kontrol Listesi

SSH nasıl bağlanılır sorusu, bir sunucuyu terminal üzerinden yönetmeye başlayan herkesin ilk öğrenmesi gereken konulardan biridir. SSH ile sunucunuza güvenli biçimde giriş yapabilir, dosya izinlerini düzenleyebilir, servisleri yeniden başlatabilir, logları inceleyebilir ve uzak sistemde komut çalıştırabilirsiniz. Bu rehberde Windows, macOS ve Linux üzerinden bağlantı kurmayı, şifre yerine SSH key kullanmayı, port ve güvenlik ayarlarını, sık görülen hata mesajlarını adım adım ele alacağız.

SSH Nedir ve Neden Kullanılır?

SSH, Secure Shell ifadesinin kısaltmasıdır. Temel amacı, yerel bilgisayarınız ile uzak sunucu arasında şifreli bir yönetim kanalı oluşturmaktır. Eski yöntemlerde kullanıcı adı ve parola gibi bilgiler ağ üzerinde daha riskli biçimde taşınabilirken SSH, oturum trafiğini şifreleyerek dinleme ve oturum ele geçirme riskini azaltır. OpenSSH dokümantasyonunda ssh, uzak makinede oturum açmak ve komut çalıştırmak için kullanılan istemci olarak tanımlanır.

SSH yalnızca komut satırı açmak için kullanılmaz. SFTP ile güvenli dosya aktarımı, scp ile dosya kopyalama, tünelleme, uzak Git işlemleri ve otomasyon görevleri de SSH altyapısından yararlanır. Bir VDS sunucu ya da Linux tabanlı VPS yönetiyorsanız SSH, kontrol panelinin ötesinde doğrudan sistem yönetimi yapmanızı sağlar.

SSH erişimi güçlü bir araçtır. Yanlış komutlar servis kesintisine veya veri kaybına yol açabilir. Özellikle rm, chmod, chown, güvenlik duvarı ve servis komutlarını çalıştırmadan önce ne yaptığınızı kontrol edin.

SSH ile Bağlanmak İçin Gerekli Bilgiler

Bağlantı kurmadan önce elinizde birkaç temel bilgi olmalıdır. Bunlar genellikle sunucu teslim ekranında, yönetim panelinde veya sistem yöneticiniz tarafından sağlanır. Eksik bilgi varsa rastgele denemeler yapmak yerine doğrulamak daha güvenlidir.

Bilgi Ne işe yarar? Örnek
Sunucu IP adresi veya alan adı Bağlanacağınız uzak makineyi belirtir. 203.0.113.10 veya server.example.com
Kullanıcı adı Sunucuda hangi hesapla oturum açacağınızı belirler. root, ubuntu, admin
SSH portu SSH servisinin dinlediği kapıdır. Varsayılan değer çoğu kurulumda 22’dir. 22, 2222
Kimlik doğrulama yöntemi Şifre veya SSH anahtarı ile giriş yapacağınızı belirler. Parola, özel anahtar dosyası
Yetki düzeyi Kullanıcının hangi komutları çalıştırabileceğini gösterir. sudo yetkisi olan kullanıcı

İlk bağlantıda SSH istemcisi, sunucunun kimliğini temsil eden host key bilgisini gösterir ve onay ister. Bu uyarı normaldir, ancak IP adresini veya alan adını yanlış yazdıysanız sahte bir hedefe bağlanma riski doğar. İlk kullanımda host key bilgisini panelinizdeki kayıtla veya yöneticinizle karşılaştırmak iyi bir alışkanlıktır.

SSH Nasıl Bağlanılır? Windows, macOS ve Linux Adımları

SSH nasıl bağlanılır sorusunun kısa cevabı, terminalde ssh kullanici@sunucu komutunu çalıştırmaktır. Ancak işletim sistemine göre terminali açma, istemcinin kurulu olup olmadığını kontrol etme ve port belirtme adımları değişebilir.

macOS ve Linux’ta bağlantı

macOS ve çoğu Linux dağıtımında SSH istemcisi genellikle hazır gelir. Terminal uygulamasını açıp aşağıdaki komutu çalıştırabilirsiniz:

ssh [email protected]

Sunucunuz farklı bir SSH portu kullanıyorsa -p parametresi gerekir:

ssh -p 2222 [email protected]

İlk bağlantıda Are you sure you want to continue connecting? benzeri bir onay görürseniz sunucu kimliğini doğruladıktan sonra yes yazabilirsiniz. Ardından parola istenir. Parola yazarken ekranda karakter görünmemesi normaldir.

Windows’ta bağlantı

Windows 10, Windows 11 ve güncel Windows Server sürümlerinde OpenSSH istemcisi Microsoft tarafından desteklenen bir özellik olarak sunulur. Microsoft Learn belgeleri, OpenSSH’nin Windows’ta uzak oturum açma için kullanılan SSH protokolünü temel aldığını ve istemci, sunucu, ssh-keygen, ssh-agent, scp ve sftp gibi bileşenler içerdiğini açıklar. Windows Terminal veya PowerShell açıp şu komutu kullanabilirsiniz:

ssh [email protected]

ssh komutu tanınmıyorsa Windows Ayarları içinden isteğe bağlı özelliklerde OpenSSH Client bileşenini kontrol edin. Kurumsal makinelerde bu özellik kapalı olabilir, bu durumda sistem yöneticinizden izin istemeniz gerekebilir.

Tek komutla uzak komut çalıştırma

Bazen interaktif oturum açmadan tek bir komut çalıştırmak istersiniz. Örneğin disk kullanımını görmek için:

ssh [email protected] 'df -h'

Bu yöntem yedekleme betikleri, durum kontrolleri ve otomasyon işleri için kullanışlıdır. Ancak otomasyonlarda şifre yerine anahtar tabanlı giriş tercih edilmelidir.

SSH Portu ve Temel Güvenlik Ayarları

SSH servisi genellikle 22 numaralı porttan çalışır. Portu değiştirmek tek başına güvenlik sağlamaz, fakat otomatik tarama ve kaba kuvvet denemelerinin görünürlüğünü azaltabilir. Asıl güvenlik, güçlü kimlik doğrulama, güncel paketler, sınırlı kullanıcı yetkisi ve doğru güvenlik duvarı kurallarıyla sağlanır.

Linux sunucularda OpenSSH sunucu ayarları çoğunlukla /etc/ssh/sshd_config dosyasında tutulur. Örnek temel ayarlar şöyle olabilir:

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Bu ayarları değiştirdikten sonra SSH servisini yeniden başlatmadan önce yapılandırmayı test etmek akıllıca olur:

sudo sshd -t

Hata yoksa servisi yeniden yükleyebilirsiniz:

sudo systemctl reload ssh

Bazı dağıtımlarda servis adı sshd olabilir:

sudo systemctl reload sshd

SSH portunu veya parola ayarını değiştirirken mevcut oturumunuzu kapatmayın. Yeni bir terminal penceresi açıp yeni ayarlarla giriş yapabildiğinizi doğruladıktan sonra eski oturumu kapatın.

Güvenlik duvarı kullanıyorsanız yeni portu açmadan eski portu kapatmayın. Örneğin UFW kullanan bir sistemde:

sudo ufw allow 2222/tcp
sudo ufw status

Şifre Yerine SSH Key ile Giriş

SSH nasıl bağlanılır rehberlerinin en önemli bölümü anahtar tabanlı giriştir. SSH key, birbiriyle eşleşen iki parçadan oluşur: yerel bilgisayarınızda saklanan özel anahtar ve sunucudaki authorized_keys dosyasına eklenen açık anahtar. Özel anahtar asla sunucuya veya başka kişilere gönderilmemelidir.

Güncel OpenSSH araçlarında Ed25519 anahtarları pratik ve güçlü bir seçenektir. Yeni anahtar oluşturmak için:

ssh-keygen -t ed25519 -C 'sunucu-erisim'

Komut sizden dosya konumu ve passphrase ister. Passphrase, özel anahtar dosyanız ele geçirilse bile saldırganın anahtarı doğrudan kullanmasını zorlaştıran ek bir korumadır. GitHub dokümantasyonu da SSH anahtarlarına passphrase eklemenin ek güvenlik katmanı sağladığını ve anahtarın ssh-agent ile güvenli biçimde önbelleğe alınabileceğini belirtir.

Açık anahtarı sunucuya eklemek için Linux ve macOS’ta ssh-copy-id kullanılabilir:

ssh-copy-id -p 2222 [email protected]

ssh-copy-id yoksa açık anahtarı elle kopyalayabilirsiniz. Yerel bilgisayarda açık anahtarı görüntüleyin:

cat ~/.ssh/id_ed25519.pub

Sunucuda ilgili kullanıcının ev dizininde şu adımları uygulayın:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Açık anahtarı authorized_keys dosyasına tek satır halinde ekleyin. Ardından yeni bağlantıyı test edin:

ssh -i ~/.ssh/id_ed25519 -p 2222 [email protected]

Bağlantı anahtarla çalışıyorsa parola girişini kapatmayı düşünebilirsiniz. Ancak bunu yapmadan önce yedek bir yönetici kullanıcısı ve alternatif erişim yöntemi bulunduğundan emin olun.

Sık Görülen SSH Bağlantı Hataları

SSH nasıl bağlanılır sorusunun yanında en çok karşılaşılan konu hata çözümüdür. SSH hata mesajları genellikle sorunun hangi katmanda olduğunu açıkça gösterir: ağ, port, kullanıcı, kimlik doğrulama veya izinler.

Hata Olası neden Çözüm
Connection timed out IP yanlış, sunucu kapalı, port güvenlik duvarında kapalı. IP adresini, sunucu durumunu ve güvenlik duvarı kurallarını kontrol edin.
Connection refused Sunucuda SSH servisi çalışmıyor veya farklı port dinliyor. Doğru portu kullanın, konsol erişimi varsa SSH servisini kontrol edin.
Permission denied Yanlış kullanıcı, yanlış parola, hatalı anahtar veya kapalı kimlik doğrulama yöntemi. Kullanıcı adını, anahtar dosyasını ve authorized_keys içeriğini doğrulayın.
Host key verification failed Sunucunun host key bilgisi değişmiş olabilir. Değişikliğin meşru olduğundan emin olun, sonra eski kaydı temizleyin.
Too many authentication failures İstemci çok fazla anahtar deniyor. Doğru anahtarı -i ile belirtin veya IdentitiesOnly yes kullanın.

Daha ayrıntılı çıktı almak için -v parametresi yararlıdır. Gerekirse seviyeyi artırabilirsiniz:

ssh -vvv -p 2222 [email protected]

Host key değişikliği beklenen bir durumsa, örneğin sunucu yeniden kurulmuşsa, yerel kaydı şu komutla temizleyebilirsiniz:

ssh-keygen -R 203.0.113.10

Bu komutu yalnızca değişikliğin beklenen ve güvenli olduğundan eminseniz çalıştırın. Aksi halde ortadaki adam saldırısı riskini göz ardı etmiş olursunuz.

Sunucuda SSH Kullanırken Güvenlik İpuçları

SSH bağlantısını çalıştırmak yeterli değildir, güvenli tutmak da gerekir. Özellikle internetten erişilebilen sunucularda zayıf parola, açık root girişi ve güncellenmemiş paketler ciddi risk oluşturur.

  1. Root ile doğrudan giriş yapmayın: Normal bir kullanıcı oluşturup gerekli işlemlerde sudo kullanın.
  2. Anahtar tabanlı giriş kullanın: Parola denemelerine karşı daha dayanıklı bir yapı kurarsınız.
  3. Özel anahtarı koruyun: Anahtarı e-posta ile göndermeyin, ortak klasörlerde saklamayın, passphrase kullanın.
  4. Güncellemeleri aksatmayın: OpenSSH ve işletim sistemi paketlerini güvenlik yamalarıyla güncel tutun.
  5. Erişimi sınırlayın: Mümkünse yalnızca belirli IP adreslerinden SSH erişimine izin verin.
  6. Logları izleyin: /var/log/auth.log veya dağıtıma göre ilgili güvenlik günlüklerini inceleyin.
  7. Yedek erişim planı yapın: Yanlış güvenlik duvarı veya SSH ayarı sizi sunucudan kilitleyebilir.

Yerel makinenizde birden fazla sunucuya bağlanıyorsanız ~/.ssh/config dosyası işleri kolaylaştırır. Örneğin:

Host web-sunucum
    HostName 203.0.113.10
    User kullanici
    Port 2222
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

Bundan sonra uzun komut yazmak yerine şu yeterlidir:

ssh web-sunucum

Bu yapı hem hata ihtimalini azaltır hem de farklı anahtarlar kullanan sistemleri düzenli yönetmenizi sağlar. Birden fazla ekip üyesi sunucuya erişiyorsa herkes için ayrı kullanıcı ve ayrı SSH anahtarı tanımlayın. Aynı hesabı paylaşmak denetimi zorlaştırır.

Kısa Kontrol Listesi

SSH nasıl bağlanılır konusunu güvenli biçimde uygulamak için önce IP, kullanıcı adı, port ve kimlik doğrulama yöntemini doğrulayın. Ardından işletim sisteminizdeki terminalden temel bağlantıyı test edin, mümkünse SSH key oluşturup açık anahtarı sunucuya ekleyin. Port, root girişi ve parola ayarlarını değiştirirken mevcut oturumu kapatmadan yeni oturumla test yapın.

Daha derin inceleme için OpenSSH manuel sayfalarını, Windows tarafında Microsoft OpenSSH belgelerini, passphrase ve agent kullanımı için GitHub SSH passphrase rehberini inceleyebilirsiniz. Temel komutları öğrendikten sonra SSH, sunucu yönetiminde en hızlı ve esnek araçlardan biri haline gelir.

Sıkça Sorulan Sorular

SSH bağlantısı için mutlaka root kullanıcısı gerekir mi?

Hayır, hatta doğrudan root girişi çoğu senaryoda önerilmez. Normal bir kullanıcıyla bağlanıp gerekli işlemlerde sudo kullanmak daha güvenli ve izlenebilir bir yöntemdir.

SSH portunu değiştirmek sunucuyu tamamen güvenli yapar mı?

Hayır. Port değiştirmek otomatik denemeleri azaltabilir, ancak tek başına güvenlik önlemi değildir. Anahtar tabanlı giriş, güçlü kullanıcı izinleri, güncellemeler ve güvenlik duvarı kuralları birlikte uygulanmalıdır.

SSH key dosyamı başka bilgisayara kopyalayabilir miyim?

Teknik olarak kopyalanabilir, ancak özel anahtarın güvenliği kritik olduğu için dikkatli olunmalıdır. Yeni cihaz için ayrı anahtar üretmek ve eski erişimleri gerektiğinde iptal edebilmek daha sağlıklı bir yaklaşımdır.

Permission denied hatası neden olur?

En yaygın nedenler yanlış kullanıcı adı, hatalı parola, sunucuda kayıtlı olmayan açık anahtar veya yanlış dosya izinleridir. Anahtar kullanıyorsanız authorized_keys içeriğini ve .ssh dizini izinlerini kontrol edin.

Windows’ta SSH için ek program kurmak zorunda mıyım?

Güncel Windows sürümlerinde OpenSSH istemcisi isteğe bağlı özellik olarak bulunur ve çoğu durumda PowerShell veya Windows Terminal üzerinden kullanılabilir. Komut tanınmıyorsa OpenSSH Client bileşeninin kurulu olup olmadığını kontrol etmelisiniz.
Paylaş:

Yazar

Sistem Yöneticisi

Onur Kaya, Bulutova'da sistem yöneticisi olarak sunucu altyapısının, sanallaştırma platformunun ve hosting hizmetlerinin kurulumundan ve işletilmesinden sorumludur. VDS ve VPS sunucular, Linux ve Windows Server yönetimi, DNS, kurumsal e-posta altyapısı ve web sitesi güvenliği konularında günlük operasyonda karşılaşılan sorunlarla doğrudan ilgilenir. Blogda bu deneyimden yola çıkarak teknik konuları herkesin uygulayabileceği, adım adım rehberlere dönüştürür.

Tüm yazıları

İlginizi çekebilir

Tüm yazılar

VDS Nedir? VDS Sunucu Ne İşe Yarar, VPS'ten Farkı Nedir?

VDS (Virtual Dedicated Server), fiziksel bir sunucunun işlemci, bellek ve disk kaynaklarının yalnızca size ayrıldığı sanal sunucudur. Nasıl çalıştığını, VPS'ten farkını ve doğru paketi nasıl seçeceğinizi anlatıyoruz.

7 dk okuma 2