Linux için Sshd_Config Dosyası Tam Kılavuzu

Linux Icin Sshd Config Dosyasi Tam Kilavuzu



Bir makinede uzaktan oturum açmak ve uzak makinede komutları çalıştırmak için SSH veya Secure Shell protokolü kullanılır. SSH protokolü kullanılarak aktarılan veriler, SSH'yi Telnet'ten daha güvenli kılan özel algoritmalarla şifrelenir. Temel olarak OpenSSH, bu protokolü uygulayan bir araçtır.

Neleri Kapsayacağız?

Bu kılavuzda, OpenSSH sunucu yapılandırma dosyasının farklı yönlerini keşfedeceğiz. Şimdi başlayalım.







OpenSSH Yapılandırma Dosyaları

Hem OpenSSH istemcisi hem de sunucu için bazı temel dosyalar vardır. İki tür yapılandırma dosyası vardır:



1. İstemci tarafı ile ilgili dosyalar: Dosyalardan biri ssh_config'dir. Sistem çapında bir yapılandırma dosyasıdır. Bu dosya şu adreste bulunur: /etc/ssh/ssh_config.php



Diğer dosya, $HOME/.ssh/config konumunda bulunan kullanıcıya özel bir yapılandırma dosyası olan config dosyasıdır.





Bir ana bilgisayardaki SSH programı, yapılandırmayı bu dosyalardan veya komut satırı arabirimi aracılığıyla alır. Daha önce belirtilen dosyalar söz konusu olduğunda, ssh_config olan sistem çapında yapılandırma dosyasına, kullanıcıya özel 'config' dosyasına göre öncelik verilir.

2. sshd_config: Sunucu tarafı ile ilgilidir. OpenSSH sunucusu başladığında bu dosyayı okur.



keşfetmek sshd Yapılandırma Dosyası

sshd yapılandırma dosyası, özelleştirilebilen birçok yönerge içerir. Bu dosyanın varsayılan düzenine bakalım:

$ kedi / vb / ssh / sshd_config


# Bu, sshd sunucusunun sistem genelindeki yapılandırma dosyasıdır. Görmek

Daha fazla bilgi için # sshd_config(5).

Liman 222
ListenAddress 0.0.0.0
ListenAddress ::
Ana Bilgisayar Anahtarı / vb / ssh / ssh_host_key
SunucuKeyBits 768
GirişGraceTime 600

Anahtar Yenileme Aralığı 3600
İzin verRootGiriş evet
Rhost'ları Yoksay evet
Katı Modlar evet
X11Yönlendirme hayır

AllowTcpForwarding hayır
izin verTTY hayır
X11Ekran Ofseti 10
Yazdır evet
Hayatta kal evet
SyslogFacility AUTH

LogLevel BİLGİSİ
rhostsdoğrulama hayır
RhostsRSAKimlik doğrulaması yok
RSA Kimlik Doğrulaması evet
Parola Doğrulama evet
AllowEmptyPasswords hayır
CheckMail no


“#” ile başlayan herhangi bir satır yorum olarak alınır. Verilen parametrelerden bazılarını inceleyelim:

1. Port yönergesi bir port numarası belirtir. Bu, cihazın bağlı olduğu bağlantı noktası numarasıdır. sshd bağlantıları dinler. Bu bağlantı noktası için varsayılan değer, standart olan 22'dir. Ancak bizim durumumuzda bunu 222 olarak değiştirdik.

Ayrıca birden fazla Port yönergesi belirtebiliriz. Bu şekilde, sshd bağlantılarını dinlemek için birden fazla bağlantı noktası kullanabiliriz.

2. ListenAddress, dinleme için IP adresini içerir. Varsayılan eylem, sunucuya bağlı tüm IP adreslerini dinlemektir. Ayrıca, Port yönergesinin ListenAddress yönergesinden sonra gelmesi gerektiğini unutmayın.

3. Özel RSA ana bilgisayar anahtarı dosyasının tam yolu, HostKey yönergesi tarafından belirtilir. Önceki durumda, yol /etc/ssh/ssh_host_key .

4. PermitRootLogin yönergesi, evet olarak ayarlandığında sshd için root oturumuna izin verir. Bu, sshd erişimini kısıtlamak için hosts.allow ve hosts.deny dosyaları kullanılmadığı sürece hayır olarak ayarlanmalıdır.

5. X11Forwarding yönergesi, evet olarak ayarlandığında X Pencere Sistemi yönlendirmesine izin verir.

6. Hangi Syslog tesisi sshd kullanmalı, SyslogFacility yönergesi kullanılarak belirtilir. Varsayılan değeri olduğu gibi tutun.

7. Syslog için günlük kaydı düzeyi, LogLevel yönergesi kullanılarak belirlenir.

değiştirme sshd Liman

varsayılan olarak, sshd veya OpenSSH sunucusu arka plan programı, TCP protokolünün 22 numaralı bağlantı noktasını kullanır. Bir test ortamında bu bağlantı noktası numarasını başka bir değerle değiştirmeniz önerilir. Bu, sunucu bağlantısının her zaman kullanılabilir olduğunu garanti eder.

Ayrıca, hangi bağlantı noktasında çalıştığından bağımsız olarak yeni bir sshd_config dosyasını kullanmadan önce yapılandırma sözdizimini kontrol etmek iyi bir uygulamadır. Sözdizimini kontrol etmek için aşağıdaki komutu kullanabiliriz:

$ sshd -t


Ayrıca, yalnızca kök kullanıcının bu dosyayı okuyabilmesi ve yazabilmesi gerektiğine dikkat etmek önemlidir. Bu, bir sshd_config yapılandırma dosyasının güvenliği uygun şekilde sağlanmışsa, önceki komutu çalıştırmanın kök yetkisi gerektirdiği anlamına gelir.

Önceki sözdizimi doğrulama komutunu çalıştırırken herhangi bir çıktı görünmüyorsa bu, dosyanın sorunsuz olduğu anlamına gelir.

Varsayılan Yapılandırma Dosyasını ve Bağlantı Noktasını Değiştirme

Bazı durumlarda, yeni bir örnek çalıştırmak isteriz. sshd farklı bir bağlantı noktasında. Bunun nedeni, 22 numaralı bağlantı noktasının zaten kullanımda olması veya bir üretim ortamında bu bağlantı noktasını değiştirmenin bazı riskli alanları olabilir. Bu tür durumlarda sunucumuz için alternatif bir konfigürasyon dosyası oluşturabiliriz.

sshd_config_new olarak yeni bir sshd_config dosyası oluşturalım. Bu dosya bazı farklı sunucu parametreleri için kullanılabilir. Şimdi bu dosyayı 100 numaralı port üzerinde yeni sunucu yapılandırma dosyası olarak kabul edilmesini belirtelim:

$ sudo / usr / sbin / sshd -f / vb / ssh / sshd_config_new -p 100


sshd arka plan programı artık 100 numaralı bağlantı noktasını dinler. Herhangi bir bağlantı noktası değerini kullanabiliriz ancak zaten kullanımda olanı kullanamayız.

Şimdi yeni portumuzun istenildiği gibi çalışıp çalışmadığını kontrol edelim. Bunun için bir ssh client programı kullanmalı ve aşağıdaki komutu çalıştırmalıyız:

$ / usr / çöp Kutusu / ssh -p 100 < ip sunucunun >



“-p” seçeneği, uzak sunucuda kullanılacak bağlantı noktası 100'ü belirtir. Yerel olarak test ediyor olmamız durumunda, sunucu IP'sini yerel ana bilgisayar IP'si olarak kullanabiliriz:

$ / usr / çöp Kutusu / ssh -p 100 127.0.0.1

OpenSSH Yapılandırmasında Sorun Giderme

Bazen sunucumuz istenildiği gibi çalışmıyor. Bu gibi durumlarda, OpenSSH sunucu yapılandırmasında sorun gidermek için “-d” bayrağını kullanabiliriz. Sunucu '-d' bayrağını kullanarak hata ayıklama moduna girer ve yalnızca tek bir bağlantıyı yönetir.

Hata ayıklama modunda üretilen çıktı ayrıntılıdır. Hata ayıklama seviyesini yükseltmek için daha fazla “-d” bayrağı kullanabiliriz. Yeni yapılandırma dosyasını kullanarak sunucumuzda debug komutunu çalıştıralım:

$ / usr / sbin / sshd -d -p 100 -f / vb / ssh / sshd_config_new


Önceki komutun çıktısı, syslogd'nin AUTH özelliğini kullanmak yerine stderr'de günlüğe kaydedilir.

Çözüm

OpenSSH arka plan programı veya sshd, birçok yönetim altyapısının önemli bir parçasıdır. Bu nedenle, optimum çalışma için onu yönetmek uzmanlık gerektirir. Bu yazımızda sshd_config gibi OpenSSH sunucu yapılandırma dosyası hakkında bilgi sahibi olduk.