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:
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 noBoş Şifreleri Engelleme:
PermitEmptyPasswords noMaksimum 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:
# 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.
Kendi bilgisayarınızda (istemcide) anahtar üretin:
ssh-keygen -t rsa -b 4096Anahtarı 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