Pardus Sunucu Üzerinde Güvenli SSH Server Kurulumu ve Yapılandırması

SSH, uzak bir bilgisayara güvenli bir şekilde bağlanmanızı ve komut çalıştırmanızı sağlayan şifrelenmiş bir protokoldür. Pardus sunucu yönetiminde standart araçtır.

Pardus sunucunuzda (192.168.101.250) servisleri kurduktan sonra, sunucunun başına gitmeden terminal üzerinden yönetim sağlamak için SSH (Secure Shell) kurulumu olmazsa olmazdır.

Okul laboratuvarı için hem temel hem de güvenli kullanım odaklı, uygulamalı bir SSH Server kurulumu.

Senaryomuz:

  • 🖥 Sunucu: pserver

  • 🌐 FQDN: pserver.bilisim.local

  • 📡 IP: 192.168.101.250

  • 🎯 Amaç: Öğrencilerin uzaktan güvenli bağlantı mantığını öğrenmesi



1. Adım: SSH Server Kurulumu

Pardus üzerinde SSH servisini kurmak oldukça basittir. Terminale şu komutu yazın:

Bash
sudo apt update
sudo apt install openssh-server -y

Kurulum tamamlandığında servis otomatik olarak başlayacaktır. Kontrol etmek için:

sudo systemctl status ssh

2. Adım: Güvenlik Yapılandırması (Önemli)

SSH, saldırganların ilk hedefidir. Bu yüzden varsayılan ayarları değiştirmek güvenliğinizi artırır.

Yapılandırma dosyasını açalım:

sudo nano /etc/ssh/sshd_config

Şu ayarları yapmanız önerilir:

  • Port Değiştirme: Standart 22 portu yerine farklı bir port kullanın.

    Port 2222 (Örnektir, hatırlayacağınız bir sayı yapın).

  • Root Girişini Kapatma: Güvenlik için root kullanıcısının doğrudan bağlanmasını engelleyin.

    PermitRootLogin no

  • Boş Şifreleri Engelleme:

    PermitEmptyPasswords no

  • Maksimum Deneme Sayısı:

    MaxAuthTries 3

Ayarları yaptıktan sonra dosyayı kaydedin ve çıkın.


3. Adım: Güvenlik Duvarı (UFW) Ayarları

Eğer portu değiştirdiyseniz, yeni portu güvenlik duvarından açmanız gerekir:

Bash
# Eğer standart portu kullanıyorsanız:
sudo ufw allow ssh

# Eğer portu 2222 yaptıysanız:
sudo ufw allow 2222/tcp

4. Adım: Ayarları Uygulama ve Test

Değişikliklerin geçerli olması için servisi yeniden başlatın:

sudo systemctl restart ssh

Uzak bir cihazdan bağlanmak için (Linux/macOS veya Windows Terminal):

ssh kullanıcı_adı@192.168.101.250 -p 2222


5. Adım: SSH Anahtarı (Key) İle Şifresiz Giriş (İleri Seviye)

Şifre kırma (Brute-force) saldırılarından korunmanın en iyi yolu SSH anahtarı kullanmaktır.

  1. Kendi bilgisayarınızda (istemcide) anahtar üretin:

    ssh-keygen -t rsa -b 4096

  2. Anahtarı Pardus sunucuya gönderin:

    ssh-copy-id -p 2222 kullanıcı_adı@192.168.101.250

Artık sunucuya bağlanırken şifre girmek yerine bu anahtar kullanılacak, bu da güvenliği en üst düzeye çıkaracaktır.


Sunucu Yönetimi İçin Küçük Bir İpucu

Eğer sunucunuzda birden fazla servis (Nginx, Postfix, Bind9, DHCP) çalışıyorsa, SSH üzerinden bağlandığınızda servislerin durumunu topluca görmek için şu küçük komutu kullanabilirsiniz:

systemctl list-units --type=service --state=running


(192.168.101.250 – pserver.bilisim.local)


1️⃣ SSH Nedir?

SSH (Secure Shell):

  • Uzaktan güvenli bağlantı sağlar

  • Şifreli iletişim kullanır

  • Terminal erişimi verir

  • Dosya transferi yapılabilir (SCP / SFTP)

SSH’in Linux dünyasındaki standart yazılımı:

👉 OpenSSH


2️⃣ SSH Nasıl Çalışır?

İstemci (Öğrenci PC)
        │
        │  Şifreli bağlantı (TCP 22)
        ▼
Sunucu (pserver - 192.168.101.250)

Port: 22


3️⃣ SSH Server Kurulumu

sudo apt update
sudo apt install openssh-server -y

Servis kontrolü:

sudo systemctl status ssh

Aktif değilse:

sudo systemctl enable ssh
sudo systemctl start ssh

4️⃣ Sunucu IP Kontrolü

ip a

Doğru IP:

192.168.101.250/24

5️⃣ İlk Bağlantı Testi (Sunucu Üzerinden)

ssh localhost

6️⃣ Öğrenci PC’den Bağlanma

Windows (PowerShell):

ssh kullanici@192.168.101.250

veya

ssh kullanici@pserver.bilisim.local

Linux istemci:

ssh kullanici@192.168.101.250

7️⃣ Firewall Ayarı (Gerekirse)

sudo ufw allow 22

Kontrol:

sudo ufw status

8️⃣ SSH Yapılandırma Dosyası

Dosya:

sudo nano /etc/ssh/sshd_config

Önemli satırlar:

Port 22
PermitRootLogin no
PasswordAuthentication yes

Değişiklik sonrası:

sudo systemctl restart ssh

9️⃣ Güvenlik Sertleştirme (Önerilen)

🔐 Root girişini kapat

PermitRootLogin no

🔐 Port değiştirme (isteğe bağlı)

Port 2222

Firewall güncelle:

sudo ufw allow 2222

Bağlantı:

ssh -p 2222 kullanici@192.168.101.250

🔑 1️⃣0️⃣ SSH Key Authentication (En Güvenlisi)

Öğrenci PC’de:

ssh-keygen

Sunucuya gönder:

ssh-copy-id kullanici@192.168.101.250

Artık parola sormaz.

Güvenliği artırmak için:

PasswordAuthentication no

📂 1️⃣1️⃣ Dosya Transferi

SCP

scp dosya.txt kullanici@192.168.101.250:/home/kullanici

SFTP

sftp kullanici@192.168.101.250

📊 Ağ Diyagramı

                 ┌───────────────┐
                 │    SWITCH     │
                 └───────┬───────┘
                         │
        ┌────────────────┼────────────────┐
        │                                 │
 ┌──────────────┐                ┌──────────────┐
 │   pserver    │                │ Öğrenci PC   │
 │192.168.101.250│                │192.168.101.10│
 │ SSH Server   │                │ ssh client   │
 └──────────────┘                └──────────────┘

🧪 LAB Çalışmaları

1️⃣ Yeni kullanıcı oluştur:

sudo adduser ogrenci1

2️⃣ Sadece belirli kullanıcılar SSH ile bağlanabilsin:

AllowUsers ogrenci1

3️⃣ Yanlış parola ile brute-force denemesi yap → logları incele:

sudo tail -f /var/log/auth.log

🎓 Öğrencilere Anlatılacak Kavramlar

✔ Şifreli iletişim nedir?
✔ Public key – Private key mantığı
✔ Port nedir?
✔ SSH ile Telnet farkı
✔ Log kayıtları neden önemlidir?


🚀 Gelişmiş Senaryolar

  • SSH üzerinden tünelleme (Port Forwarding)

  • Fail2ban kurulumu

  • SFTP-only kullanıcı

  • Chroot jail

  • Anahtar tabanlı zorunlu giriş


🎯 Sonuç

Artık:

ssh kullanici@pserver.bilisim.local

ile uzaktan güvenli bağlantı kurulabiliyor 🎉



Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu