SSH Nedir?
SSH (Secure Shell), bilgisayar ağları üzerinde güvenli bir iletişim sağlayan bir protokoldür. Uzaktan yönetim, dosya transferi ve başka birçok işlevi, güvenli bir şekilde gerçekleştirme imkanı sunar. SSH protokolü, istemci-sunucu mimarisi ile çalışır ve şifreleme sayesinde iletişimin güvenliğini sağlar. Linux sistemlerde, SSH genellikle sunuculara uzaktan erişim, komut çalıştırma ve dosya transferi amacıyla kullanılır.
SSH Kurulumu
Linux Mint üzerinde SSH kurulumuna, öncelikle terminal uygulaması üzerinden başlanır. Terminal açıldıktan sonra, sistemde SSH sunucu yazılımını kurmak için aşağıdaki komut çalıştırılır:
“`
sudo apt update
sudo apt install openssh-server
“`
Bu komut, sistemdeki paket listesini günceller ve ardından OpenSSH sunucusunu indirip kurar. Kurulum tamamlandıktan sonra, SSH servisi otomatik olarak başlamış olmalıdır. Servisin durumunu kontrol etmek için aşağıdaki komut kullanılabilir:
“`
sudo systemctl status ssh
“`
Bu komut, SSH servisinin çalışıp çalışmadığını gösteren bir çıktı verecektir. Eğer servis çalışmıyorsa, aşağıdaki komut ile başlatılabilir:
“`
sudo systemctl start ssh
“`
SSH Yapılandırması
SSH yapılandırması, genellikle `/etc/ssh/sshd_config` dosyası üzerinden gerçekleştirilir. Bu dosya, SSH sunucusunun çalışma şekli ile ilgili çeşitli parametreleri içermektedir. Dosyayı düzenlemek için bir metin düzenleyici kullanılabilir. Örneğin, nano metin düzenleyicisi ile dosya açmak için aşağıdaki komut tercih edilebilir:
“`
sudo nano /etc/ssh/sshd_config
“`
Bu dosyada birkaç önemli yapılandırma ayarı bulunmaktadır:
– Port: SSH sunucusu varsayılan olarak 22 numaralı portu kullanır. Güvenlik açısından farklı bir port seçmek gerekebilir.
– PermitRootLogin: Bu ayar, kök kullanıcı için uzaktan erişimi kontrol eder. Güvenli bir uygulama olarak, bu ayarın “no” olarak ayarlanması önerilir.
– PasswordAuthentication: Bu ayar, parola ile doğrulamanın yapılmasına izin verip vermeyeceğini belirler. Public key ile erişim tercih ediliyorsa “no” olarak ayarlanması önerilir.
Yapılandırma dosyasında yapılacak değişikliklerden sonra, değişikliklerin geçerli olması için SSH servisi yeniden başlatılmalıdır:
“`
sudo systemctl restart ssh
“`
Güvenlik Önlemleri
SSH bağlantısının güvenliğini artırmak için birkaç önemli adım bulunmaktadır. İlk olarak, sadece gerekli olan kullanıcıların SSH erişimi olduğundan emin olunmalıdır. Kullanıcıların SSH erişimi, `AllowUsers` direktifi ile kısıtlanabilir.
Firewall (güvenlik duvarı) ayarları da SSH güvenliği açısından önemlidir. Linux Mint üzerinde `ufw` (Uncomplicated Firewall) aracı ile gerekli yapılandırmalar yapılabilir. SSH erişimini sağlamak için aşağıdaki komut kullanılabilir:
“`
sudo ufw allow ssh
“`
Ayrıca, daha fazla güvenlik için, iki faktörlü kimlik doğrulama yöntemleri de uygulanabilir. Bu, SSH bağlantılarının daha güvenli hale gelmesini sağlar.
SSH Anahtar Çifti Kullanma
Paroladan ziyade anahtar çifti kullanarak SSH bağlantıları daha güvenli hale getirilebilir. Anahtar çifti oluşturmak için aşağıdaki komut kullanılabilir:
“`
ssh-keygen -t rsa -b 2048
“`
Bu komut, bir özel ve bir de genel anahtar oluşturur. Genellikle, anahtar dosyaları `~/.ssh/` dizininde saklanır. Genel anahtar, erişim sağlanacak sunucuya eklenmelidir. Bunu yapmak için, genel anahtar içeriği, bağlanılacak sunucudaki `~/.ssh/authorized_keys` dosyasına eklenmelidir. Aşağıdaki komut ile bu işlem gerçekleştirilebilir:
“`
ssh-copy-id user@host
“`
Bu komut, yerel anahtarın genel anahtarını belirli bir kullanıcı ve ana makineye kopyalar.
Bağlantı Testi
SSH kurulum ve yapılandırması tamamlandıktan sonra, sunucuya uzaktan bağlantı testi yapmak önemlidir. Bağlanmak istenen sunucuya uzaktan SSH ile erişim için aşağıdaki komut kullanılabilir:
“`
ssh user@hostname_or_ip
“`
Bu komut, bağlantı isteği gönderir. Eğer yapılandırma ve bağlantı ayarları doğruysa, başarıyla bağlanılır.
Sonuç
SSH, Linux sistemlerde uzaktan erişim ve yönetim için güvenli bir yol sunan önemli bir araçtır. Kurulum, yapılandırma ve güvenlik önlemleri alındığında, SSH bağlantıları güvenilir ve etkili bir şekilde gerçekleştirilebilir. Aynı zamanda, anahtar bazlı kimlik doğrulama ve firewall ayarları ile güvenlik artırılabilir. Bu sayede, uzaktan erişim işlemleri daha güvenli bir şekilde yapılabilir.