Das Sshd_Config File Complete Guide für Linux

Das Sshd Config File Complete Guide Fur Linux



Das SSH- oder Secure Shell-Protokoll wird für die Remote-Anmeldung bei einem Computer und die Ausführung von Befehlen auf dem Remote-Computer verwendet. Die mit dem SSH-Protokoll übertragenen Daten werden mit speziellen Algorithmen verschlüsselt, die SSH sicherer als Telnet machen. Grundsätzlich ist OpenSSH ein Tool, das dieses Protokoll implementiert.

Was werden wir abdecken?

In diesem Handbuch werden wir die verschiedenen Aspekte der OpenSSH-Serverkonfigurationsdatei untersuchen. Fangen wir jetzt an.







OpenSSH-Konfigurationsdateien

Es gibt einige Kerndateien sowohl für den OpenSSH-Client als auch für den Server. Es gibt zwei Arten von Konfigurationsdateien:



1. Clientseitige Dateien: Eine der Dateien ist ssh_config. Es ist eine systemweite Konfigurationsdatei. Diese Datei befindet sich unter /etc/ssh/ssh_config.



Die andere Datei ist config, eine benutzerspezifische Konfigurationsdatei, die sich unter $HOME/.ssh/config befindet.





Das SSH-Programm auf einem Host übernimmt die Konfiguration entweder aus diesen Dateien oder über die Kommandozeilenschnittstelle. Bei den zuvor genannten Dateien hat die systemweite Konfigurationsdatei ssh_config Vorrang vor der benutzerspezifischen „config“-Datei.

2. sshd_config: Bezieht sich auf die Serverseite. Der OpenSSH-Server liest diese Datei beim Start.



Erforschung der sshd Konfigurationsdatei

Die sshd-Konfigurationsdatei enthält viele Anweisungen, die auch angepasst werden können. Schauen wir uns das Standardlayout dieser Datei an:

$ Katze / etc / sch / sshd_config


# Dies ist die systemweite Konfigurationsdatei des sshd-Servers. Sehen

# sshd_config(5) für weitere Informationen.

Hafen 222
ListenAdresse 0.0.0.0
Höradresse ::
Hostschlüssel / etc / sch / ssh_host_key
ServerKeyBits 768
LoginGraceTime 600

KeyRegenerationInterval 3600
RootLogin zulassen Jawohl
IgnoriereRhosts Jawohl
StrictModes Jawohl
X11Weiterleitungs-Nr

AllowTcpForwarding-Nr
erlaubenTTY-Nr
X11AnzeigeOffset 10
PrintMotd Jawohl
Bleib am Leben Jawohl
SyslogFacility AUTH

LogLevel-INFO
RhostsAuthentifizierungs-Nr
RhostsRSAAuthentifizierungs-Nr
RSA-Authentifizierung Jawohl
Passwortauthentifizierung Jawohl
AllowEmptyPasswords Nr
CheckMail-Nr


Jede Zeile, die mit „#“ beginnt, wird als Kommentar gewertet. Lassen Sie uns einige der gegebenen Parameter untersuchen:

1. Die Port-Direktive gibt eine Portnummer an. Dies ist die Portnummer, auf der die sshd lauscht auf Verbindungen. Der Standardwert für diesen Port ist 22, was der Standardwert ist. In unserem Fall haben wir es jedoch auf 222 geändert.

Außerdem können wir mehr als eine Port-Direktive angeben. Auf diese Weise können wir mehrere Ports zum Abhören der sshd-Verbindungen verwenden.

2. Die ListenAddress enthält die IP-Adresse zum Abhören. Die Standardaktion besteht darin, alle IP-Adressen abzuhören, die an den Server gebunden sind. Beachten Sie auch, dass die Port-Direktive der ListenAddress-Direktive folgen muss.

3. Der vollständig qualifizierte Pfad der privaten RSA-Hostschlüsseldatei wird durch die HostKey-Anweisung angegeben. Im vorherigen Fall ist der Pfad /etc/ssh/ssh_host_key .

4. Die PermitRootLogin-Direktive erlaubt die Root-Anmeldung für sshd, wenn sie auf yes gesetzt ist. Dies sollte auf no gesetzt werden, es sei denn, die Dateien hosts.allow und hosts.deny werden verwendet, um den sshd-Zugriff einzuschränken.

5. Die Direktive X11Forwarding lässt die X Window System-Weiterleitung zu, wenn sie auf yes gesetzt ist.

6. Welche Syslog-Einrichtung das die sshd sollte verwendet werden, wird mit der SyslogFacility-Direktive angegeben. Behalten Sie den Standardwert unverändert bei.

7. Die Protokollierungsebene für Syslog wird mit der LogLevel-Direktive angegeben.

Wechseln sshd Hafen

Standardmäßig ist die sshd oder OpenSSH-Server-Daemon verwendet den Port 22 des TCP-Protokolls. Es wird empfohlen, diese Portnummer in einer Testumgebung auf einen anderen Wert zu ändern. Dies stellt uns sicher, dass die Serverkonnektivität jederzeit verfügbar ist.

Außerdem empfiehlt es sich, die Syntax der Konfiguration einer neuen sshd_config-Datei zu überprüfen, bevor Sie sie verwenden, unabhängig davon, auf welchem ​​Port sie ausgeführt wird. Um die Syntax zu überprüfen, können wir den folgenden Befehl verwenden:

$ sshd -t


Es ist auch wichtig zu beachten, dass nur der Root-Benutzer in der Lage sein sollte, diese Datei zu lesen und in sie zu schreiben. Das bedeutet, dass, wenn eine sshd_config-Konfigurationsdatei ordnungsgemäß gesichert ist, die Ausführung des vorherigen Befehls Root-Berechtigung erfordert.

Wenn beim Ausführen des vorherigen Syntaxüberprüfungsbefehls keine Ausgabe erscheint, bedeutet dies, dass die Datei in Ordnung ist.

Ändern der Standardkonfigurationsdatei und des Ports

In einigen Fällen möchten wir eine neue Instanz von ausführen sshd auf einem anderen Port. Dies kann daran liegen, dass Port 22 bereits verwendet wird oder dass es einige Risikobereiche beim Ändern dieses Ports in einer Produktionsumgebung gibt. In solchen Situationen können wir eine alternative Konfigurationsdatei für unseren Server erstellen.

Lassen Sie uns eine neue sshd_config-Datei als sshd_config_new erstellen. Diese Datei kann für einige andere Serverparameter verwendet werden. Lassen Sie uns nun diese Datei angeben, die als neue Serverkonfigurationsdatei auf Portnummer 100 betrachtet werden soll:

$ sudo / usr / Schlampe / sshd -f / etc / sch / sshd_config_new -p 100


Der sshd-Daemon lauscht jetzt auf Port 100. Wir können jeden Portwert verwenden, aber nicht den, der bereits verwendet wird.

Lassen Sie uns nun überprüfen, ob unser neuer Port wie gewünscht funktioniert. Dazu müssen wir ein ssh-Client-Programm verwenden und den folgenden Befehl ausführen:

$ / usr / Behälter / sch -p 100 < IP des Servers >



Die Option „-p“ gibt den Port 100 an, der auf dem Remote-Server verwendet werden soll. Falls wir lokal testen, können wir die Server-IP als localhost-IP verwenden:

$ / usr / Behälter / sch -p 100 127.0.0.1

Fehlerbehebung bei der OpenSSH-Konfiguration

Manchmal funktioniert unser Server nicht wie gewünscht. In solchen Fällen können wir das Flag „-d“ verwenden, um Fehler in der OpenSSH-Serverkonfiguration zu beheben. Mit dem Flag „-d“ wechselt der Server in den Debug-Modus und verarbeitet nur eine einzige Verbindung.

Die Ausgabe, die im Debug-Modus erzeugt wird, ist ausführlich. Wir können mehr „-d“-Flags verwenden, um die Debugging-Stufe zu erhöhen. Lassen Sie uns den Debug-Befehl auf unserem Server mit der neuen Konfigurationsdatei ausführen:

$ / usr / Schlampe / sshd -d -p 100 -f / etc / sch / sshd_config_new


Die Ausgabe des vorherigen Befehls wird in stderr protokolliert, anstatt die AUTH-Funktion von syslogd zu verwenden.

Fazit

Der OpenSSH-Daemon oder sshd ist ein wichtiger Bestandteil vieler Verwaltungsinfrastrukturen. Als solches erfordert es Fachwissen, um es für einen optimalen Betrieb zu verwalten. In diesem Artikel haben wir etwas über die OpenSSH-Serverkonfigurationsdatei wie sshd_config erfahren.