SSH Nasıl Kurulur ve Yapılandırılır
SSH (Secure Shell), uzak sistemlere güvenli bir şekilde bağlanmak, komutları yürütmek ve veri aktarmak için kullanılan bir protokoldür. Sistem yöneticilerinin, geliştiricilerin ve kullanıcıların şifreli bağlantılar kullanarak sunucuları ve diğer cihazları uzaktan yönetmeleri için güvenli bir yöntem sağlar. SSH’nin kurulması ve yapılandırılması, ister sistem yönetimi, ister uzaktan çalışma veya geliştirme amacıyla olsun, sunuculara güvenli bir şekilde erişmek için gereklidir.
Bu makalede, temel bilgileri, yapılandırma seçeneklerini ve güvenlik önerilerini kapsayacak şekilde Linux‘ta SSH’nin nasıl kurulacağı ve yapılandırılacağı konusunda size yol göstereceğiz.
SSH nedir?
SSH, Güvenli Kabuk anlamına gelir ve kullanıcıların bir komut satırı arayüzü aracılığıyla uzaktaki bir sisteme güvenli bir şekilde bağlanmasına olanak tanır. Protokol, istemci ve sunucu arasındaki verileri şifreleyerek, özellikle internet gibi güvenli olmayan bir ağ üzerinden sunuculara erişmek için güvenli bir iletişim yöntemi haline getirir.
SSH varsayılan olarak 22 numaralı bağlantı noktası üzerinden çalışır ve şunlar için kullanılabilir:
- Sunuculara uzaktan giriş
- Güvenli dosya aktarımı (SCP veya SFTP kullanarak)
- Uzaktan komut yürütme
- Port yönlendirme ve tünelleme
Adım 1: SSH Kurulumu
Çoğu Linux dağıtımı SSH önceden yüklenmiş olarak gelir, ancak yüklü değilse, dağıtımınızın paket yöneticisini kullanarak kolayca yükleyebilirsiniz.
Ubuntu/Debian için:
CentOS/RHEL için:
Fedora için:
Arch Linux için:
Kurulumdan sonra, hem bir SSH sunucusu çalıştırmanıza hem de diğer SSH sunucularına bağlanmanıza olanak tanıyan OpenSSH sunucusu ve istemcisi yüklenmiş olacaktır.
Adım 2: SSH Hizmetinin Başlatılması ve Etkinleştirilmesi
Kurulduktan sonra, SSH hizmetini (sshd – SSH daemon olarak da bilinir) başlatmanız ve sistem başlangıcında çalışmasını sağlamanız gerekir.
SSH Hizmetini Başlatma:
SSH’nin Önyüklemede Başlatılmasını Etkinleştirme:
SSH’ın doğru çalışıp çalışmadığını yazarak kontrol edebilirsiniz:
Hizmet çalışıyorsa, SSH’nin bağlantıları kabul etmeye hazır olduğunu gösteren etkin bir durum görürsünüz.
Adım 3: Temel SSH Yapılandırması
SSH’ın davranışı şu adreste bulunan yapılandırma dosyası tarafından kontrol edilir:
Varsayılan bağlantı noktasını değiştirmek, kök oturum açmayı devre dışı bırakmak veya anahtar tabanlı kimlik doğrulamayı ayarlamak gibi SSH ayarlarını değiştirmek için bu dosyayı düzenleyebilirsiniz.
Dosyayı düzenlemek için nano veya vim gibi bir metin düzenleyici kullanın:
Bazı yaygın yapılandırma değişiklikleri şunlardır:
1. Varsayılan SSH Bağlantı Noktasını Değiştirme
Güvenlik nedenleriyle, varsayılan SSH bağlantı noktasını 22’den başka bir şeye değiştirmek iyi bir fikirdir. Bu, varsayılan SSH bağlantı noktasını hedef alan otomatik saldırı riskini azaltmaya yardımcı olur.
Yapılandırma dosyasında aşağıdaki satırı bulun:
Eklemeyi kaldırın ve bağlantı noktası numarasını değiştirin:
Dosyayı kaydettikten sonra, değişiklikleri uygulamak için SSH hizmetini yeniden başlatın:
Yeni bağlantı noktasındaki bağlantılara izin vermek için güvenlik duvarı kurallarınızı güncellediğinizden emin olun.
2. Kök Girişini Devre Dışı Bırak
SSH üzerinden root girişine izin vermek bir güvenlik riskidir. Bunu önlemek için yapılandırma dosyasında aşağıdaki satırı bulun:
Şöyle değiştir:
Bu, SSH üzerinden doğrudan root erişimini engelleyecektir. Kullanıcılar hala normal bir hesapla oturum açabilir ve ardından sudo veya su kullanarak root’a geçebilirler.
3. Anahtar Tabanlı Kimlik Doğrulamayı Etkinleştir
SSH anahtar tabanlı kimlik doğrulama, parola kullanmaktan daha güvenli bir yöntemdir. Bu, bir SSH anahtar çifti (genel ve özel anahtarlar) oluşturmayı ve kimlik doğrulaması için özel anahtarı kullanmayı içerir.
Anahtar tabanlı kimlik doğrulamayı zorlamak için aşağıdaki satırları bulun ve evet olarak ayarlandıklarından emin olun:
Bu, parola tabanlı oturum açmayı devre dışı bırakır ve yalnızca anahtar tabanlı kimlik doğrulama yoluyla SSH erişimine izin verir.
Adım 4: SSH Anahtarlarının Oluşturulması (Anahtar Tabanlı Kimlik Doğrulama)
SSH anahtar çiftleri, parola olmadan oturum açmak için güvenli bir yol sağlar. SSH anahtarlarının nasıl oluşturulacağı ve ayarlanacağı aşağıda açıklanmıştır:
Adım 1: SSH Anahtar Çiftini Oluşturun
Yerel makinenizde, bir anahtar çifti oluşturmak için aşağıdaki komutu çalıştırın:
Anahtarı kaydetmek için bir dosya adı (veya varsayılan konumu kullanmak için Enter tuşuna basın) ve ekstra güvenlik için isteğe bağlı bir parola girmeniz istenecektir.
Bu işlem iki dosya oluşturur:
- ~/.ssh/id_rsa: Özel anahtarınız (bunu güvende tutun ve paylaşmayın).
- ~/.ssh/id_rsa.pub: Açık anahtarınız (bu paylaşılabilir ve uzak sunuculara eklenebilir).
Adım 2: Açık Anahtarı Sunucuya Kopyalayın
SSH oturum açma anahtarını kullanmak için, açık anahtarı erişmek istediğiniz uzak sunucuya kopyalayın. Bunu ssh-copy-id komutu ile yapabilirsiniz:
Username yerine uzak sunucunuzun kullanıcı adını ve remote_host yerine de sunucunun IP adresini veya ana bilgisayar adını yazın.
Bu, açık anahtarınızı sunucuya kopyalayacak ve ~/.ssh/authorized_keys dosyasına ekleyerek parola olmadan oturum açmanıza olanak tanıyacaktır.
Adım 3: SSH Anahtarını Kullanarak Oturum Açın
Şimdi, özel anahtarınızı kullanarak uzak sunucuda oturum açabilirsiniz:
Özel bir bağlantı noktası belirlediyseniz, bunu -p seçeneği ile belirtin:
Adım 5: SSH Yapılandırmanızın Güvenliğini Sağlama
SSH’yi kurduktan sonra, sunucunuzun yetkisiz erişime karşı korunmasını sağlamak için en iyi güvenlik uygulamalarını takip etmek önemlidir.
1. Güçlü Parolalar Kullanın (Parola Kimlik Doğrulaması Kullanıyorsanız)
Anahtar tabanlı kimlik doğrulama kullanmıyorsanız, tüm kullanıcı hesaplarının güçlü, karmaşık parolalar kullandığından emin olun.
2. Güvenlik Duvarı Kullanın
Sunucunuzun güvenlik duvarının yalnızca kullandığınız SSH bağlantı noktasındaki trafiğe izin verdiğinden emin olun. Örneğin, SSH’yi 2222 numaralı bağlantı noktasına değiştirdiyseniz, ufw (Ubuntu/Debian’da) veya firewalld (CentOS/RHEL’de) kullanarak bu bağlantı noktasındaki trafiğe izin verin.
3. SSH Erişimini Sınırlama
Güvenlik duvarını yapılandırarak veya /etc/hosts.allow ve /etc/hosts.deny kullanarak SSH erişimini belirli IP adresleri veya aralıklarıyla sınırlayın.
Adım 6: SSH’ı Test Etme ve Sorun Giderme
SSH’yi yapılandırdıktan sonra kurulumunuzu test etmeniz önemlidir. Her şeyin doğru çalıştığından emin olmak için SSH kullanarak oturum açmayı deneyin.
Yaygın SSH Sorun Giderme İpuçları:
- Güvenlik Duvarı Ayarlarını Kontrol Edin: Güvenlik duvarının SSH bağlantı noktasını engellemediğinden emin olun.
- SSH Hizmet Durumunu Kontrol Edin: SSH hizmetinin systemctl status ssh ile çalıştığından emin olun.
- Yapılandırmayı Doğrulayın: Yanlış yapılandırmalar için /etc/ssh/sshd_config dosyasını iki kez kontrol edin.
- Hata Ayıklama için Verbose Modunu kullanın: Sorun varsa, ayrıntılı çıktıyı görmek için bağlanırken -v seçeneğini kullanın:
Sonuç
SSH’nin kurulması ve yapılandırılması, uzak sistemleri güvenli bir şekilde yönetmesi gereken her Linux yöneticisi veya kullanıcısı için temel bir beceridir. Bu kılavuzu takip ederek SSH’yi kurabilir, güvenli erişim için yapılandırabilir ve sunucunuzu yetkisiz erişime karşı korumak için en iyi uygulamaları uygulayabilirsiniz. SSH yapılandırıldıktan sonra uzaktan yönetim, otomasyon ve sistemler arasında güvenli iletişim için güçlü bir araç haline gelir.