'OpenSSH' ist eine freie SSH/SecSH-Protokollsuite, die Verschlüsselung für Netzwerkdienste bereitstellt, wie etwa Remotelogins, also Einloggen auf einem anderen, entfernten Rechner, oder auch Dateiübertragung von oder zu einem entfernten Rechner.
Noch ein Hinweis:
Hier finden sich eine Vielzahl von Informationen zu dem kostenlosen
Windows-SSH-Klienten
PuTTY.
Es wird mindestens die PuTTY Version 0.63 benötigt um erfolgreich
eine Verbindung zum Server aufbauen zu können.
Administratoren die von der eisfair Konfiguration abweichende Einstellungen benötigen oder wünschen, legen Ihre Konfiguration unter /etc/ssh/ssh{d}_config.d/*.conf ab. Diese Variablen werden dann Automatisch mit eingelesen.
'OpenSSH' liest jede Variable nur einmal, sobald eine Variable belegt ist, wird sie nicht mehr überschrieben. Nach Änderungen an der Konfiguration ist ein Neustart des Dienstes erforderlich.
Das Menü im Setup-Programm ist wie folgt aufgebaut:
1. | System administration |
x. | SSH - administration |
1. | View documentation | |
2. | Edit configuration | |
3. | Advanced configuration file handling | |
4. | Show status | |
5. | Stop service | |
6. | Start service | |
7. | (Re)-Create SSH Server Keys | |
8. | Validate SSHd manual config | |
9. | View log file |
Die Konfiguration kann über den Menüpunkt „Edit Configuration “ geändert werden.
Nachdem der Editor beendet wurde wird die Konfiguration mit dem eischk-Programm automatisch auf syntaktische und teilweise auch auf semantische Fehler geprüft. Werden Fehler festgestellt, so werden diese gemeldet und der Benutzer zur Korrektur aufgefordert. Wird eine solche Korrektur nicht durchgeführt, so kann es zu unvorhersehbaren Fehlfunktionen bei den Diensten kommen.
Es wird zusätzlich gefragt, ob die Konfiguration angewendet (aktiviert)
werden soll. Wird dieses verneint, so unterbleibt die Aktivierung. Wird die
Aktivierung bestätigt, werden über ein Skript die durchgeführten
Änderungen wirksam gemacht.
ACHTUNG
Es muss unbedingt darauf geachtet werden, dass eine fehlerfreie
Konfiguration gespeichert wird, da es sonst beim nächsten
Neustart des Servers zu unvorhersehbaren Fehlern kommen kann.
Wird die Aktivierung bestätigt, werden über ein Skript die durchgeführten Änderungen wirksam gemacht.
Die Konfigurationsdatei /etc/config.d/ssh enthält die Parameter, die die einzelnen Dienste parametrisieren bzw festlegen, ob ein Dienst überhaupt zur Verfügung gestellt wird oder nicht.
Gültige Werte: yes, no
Standardeinstellung: START_SSH='no'
Gültige Werte: Port Nummer
Standardeinstellung: SSH_PORT='22'
Gültige Werte: all, default, Cipher-Name
all | - | Alle in OpenSSH implementierten Ciphers werden zugelassen. |
default | - | Es wird eine reduzierte Standardauswahl von Ciphers zugelassen. |
Cipher-Name | - | Ein oder mehrere, individuelle Cipher können eingegeben werden. |
Mehrere Werte müssen durch ein Komma voneinander getrennt | ||
werden. Beginnt der eingegebene Wert mit dem Wort 'default', | ||
so wird die Standardauswahl von Ciphers um den oder die | ||
gewünschten Cipher ergänzt. |
Diese Cipher sind vorhanden:
eis # ssh -V
OpenSSH_9.6p1, OpenSSL 3.1.4 24 Oct 2023
eis # ssh -Q cipher | - | 3des-cbc |
- | aes128-cbc | |
- | aes192-cbc | |
- | aes256-cbc | |
- | aes128-ctr (default) | |
- | aes192-ctr (default) | |
- | aes256-ctr (default) | |
- | aes128-gcm@openssh.com (default) | |
- | aes256-gcm@openssh.com (default) | |
- | chacha20-poly1305@openssh.com (default) |
Standardeinstellung: SSH_SERVER_CIPHERS='default'
Gültige Werte: all, default, KEX-Name
all | - | Alle in OpenSSH implementierten KEXs werden zugelassen. |
default | - | Es wird eine reduzierte Standardauswahl von KEXs zugelassen. |
KEX-Name | - | Ein oder mehrere, individuelle KEX können eingegeben werden. |
Mehrere Werte müssen durch ein Komma voneinander getrennt | ||
werden. Beginnt der eingegebene Wert mit dem Wort 'default', | ||
so wird die Standardauswahl von KEXs um den oder die | ||
gewünschten KEX ergänzt. |
Diese KEXs sind vorhanden:
eis # ssh -V
OpenSSH_9.6p1, OpenSSL 3.1.4 24 Oct 2023
eis # ssh -Q kex | - | diffie-hellman-group1-sha1 |
- | diffie-hellman-group14-sha1 (default) | |
- | diffie-hellman-group14-sha256 | |
- | diffie-hellman-group16-sha512 | |
- | diffie-hellman-group18-sha512 | |
- | diffie-hellman-group-exchange-sha1 | |
- | diffie-hellman-group-exchange-sha256 (default) | |
- | ecdh-sha2-nistp256 (default) | |
- | ecdh-sha2-nistp384 (default) | |
- | ecdh-sha2-nistp521 (default) | |
- | curve25519-sha256 | |
- | curve25519-sha256@libssh.org (default) | |
- | sntrup761x25519-sha512@openssh.com |
Standardeinstellung: SSH_SERVER_KEKS='default'
Gültige Werte: all, default, MAC-Name
all | - | Alle in OpenSSH implementierten MACs werden zugelassen. |
default | - | Es wird eine reduzierte Standardauswahl von MACs zugelassen. |
MAC-Name | - | Ein oder mehrere, individuelle MAC können eingegeben werden. |
Mehrere Werte müssen durch ein Komma voneinander getrennt | ||
werden. Beginnt der eingegebene Wert mit dem Wort 'default', | ||
so wird die Standardauswahl von MACs um den oder die | ||
gewünschten MAC ergänzt. |
Diese MACs sind vorhanden:
eis # ssh -V
OpenSSH_9.6p1, OpenSSL 3.1.4 24 Oct 2023
eis # ssh -Q mac | - | hmac-sha1 |
- | hmac-sha1-96 | |
- | hmac-sha2-256 (default) | |
- | hmac-sha2-512 (default) | |
- | hmac-md5 | |
- | hmac-md5-96 | |
- | umac-64@openssh.com (default) | |
- | umac-128@openssh.com (default) | |
- | hmac-sha1-etm@openssh.com | |
- | hmac-sha1-96-etm@openssh.com | |
- | hmac-sha2-256-etm@openssh.com (default) | |
- | hmac-sha2-512-etm@openssh.com (default) | |
- | hmac-md5-etm@openssh.com | |
- | hmac-md5-96-etm@openssh.com | |
- | hmac-ripemd160-etm@openssh.com | |
- | umac-64-etm@openssh.com (default) | |
- | umac-128-etm@openssh.com (default) |
Standardeinstellung: SSH_SERVER_MACS='default'
Gültige Werte: Zahl
Standardeinstellung: SSH_LISTEN_ADDR_N='0'
Gültige Werte: alles
Standardeinstellung: SSH_LISTEN_ADDR_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SSH_LISTEN_ADDR_x_ACTIVE='no'
Beispiel: SSH_LISTEN_ADDR_1='2' zeigt auf IP_ETH_2_IPADDR in /etc/config.d/base.
Gültige Werte: 1 bis IP_ETH_N (siehe Datei base)
Standardeinstellung: SSH_LISTEN_ADDR_x='1'
ACHTUNG
Bitte diese Konfigurationsmöglichkeiten mit Vorsicht einsetzen.
Alle vier Listen werden beim Login geprüft. Durch eine falsche
Eingabe ist es durchaus möglich wichtige Benutzer (z.B. root
oder eis) vom Login auszuschließen.
Ein Login ist erlaubt für alle Benutzer, deren Benutzername mit einem der angegebenen Muster übereinstimmt. Dabei sind die Platzhalter '*' (für eine unbegrenzte Anzahl beliebiger Zeichen) und '?' (für ein beliebiges Zeichen) möglich.
Wird der Wert '0' angegeben, so dürfen sich alle Anwender über SSH in den Server einloggen.
Gültige Werte: Zahl
Standardeinstellung: SSH_ALLOW_USER_N='0'
Gültige Werte: alles
Standardeinstellung: SSH_ALLOW_USER_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SSH_ALLOW_USER_x_ACTIVE='no'
Gültige Werte: Muster oder Name
Standardeinstellung: SSH_ALLOW_USER_x='root'
Ein Login ist nicht erlaubt für alle Benutzer, deren Benutzername mit einem der angegebenen Muster übereinstimmt. Dabei sind die Platzhalter '*' (für eine unbegrenzte Anzahl beliebiger Zeichen) und '?' (für ein beliebiges Zeichen) möglich.
Wird der Wert '0' angegeben, so dürfen sich alle Anwender über SSH in den Server einloggen.
Gültige Werte: Zahl
Standardeinstellung: SSH_DENY_USER_N='0'
Gültige Werte: alles
Standardeinstellung: SSH_DENY_USER_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SSH_DENY_USER_x_ACTIVE='no'
Gültige Werte: Muster oder Name
Standardeinstellung: SSH_DENY_USER_x='batch'
Ein Login ist erlaubt für alle Benutzer, deren primäre oder zusätzliche Gruppe mit einem der angegebenen Muster übereinstimmt. Dabei sind die Platzhalter '*' (für eine unbegrenzte Anzahl beliebiger Zeichen) und '?' (für ein beliebiges Zeichen) möglich.
Wird der Wert '0' angegeben, so dürfen sich alle Anwender über SSH in den Server einloggen.
Gültige Werte: Zahl
Standardeinstellung: SSH_ALLOW_GROUP_N='0'
Gültige Werte: alles
Standardeinstellung: SSH_ALLOW_GROUP_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SSH_ALLOW_GROUP_x_ACTIVE='no'
Gültige Werte: Muster oder Name
Standardeinstellung: SSH_ALLOW_GROUP_x='root'
Wird der Wert '0' angegeben, so dürfen sich alle Anwender über SSH in den Server einloggen.
Gültige Werte: Zahl
Standardeinstellung: SSH_DENY_GROUP_N='0'
Gültige Werte: alles
Standardeinstellung: SSH_DENY_GROUP_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SSH_DENY_GROUP_x_ACTIVE='batch'
Gültige Werte: Muster oder Name
Standardeinstellung: SSH_DENY_GROUP_x=''
'yes' der Benutzer root darf sich via ssh anmelden.
'no' der Benutzer root darf sich nicht via ssh anmelden.
'without-password' die Identifizierung über ein Passwort ist nicht erlaubt. Diese Option ermöglicht allerdings trotzdem eine Anmeldung mit Passwort, wenn z.B. eine PAM-Authentifizierung eingeschaltet ist.
'forced-commands-only' der Benutzer root darf sich nur dann über Key Authentifizierung anmelden, wenn ein Kommando direkt über den ssh Befehl angegeben wurde.
Gültige Werte: yes, no, without-password, forced-commands-only
Standardeinstellung: SSH_PERMITROOTLOGIN='yes'
Die für die Public Key Authentication des Benutzer root benötigte Datei /root/.ssh/authorized_keys wird aus den Informationen der Konfiguration generiert. Dazu müssen die öffentlichen Teile der mittels ssh-keygen generierten Schlüsselpaare (identity.pub) in der Konfiguration angegeben werden. Das kann auf zwei Arten geschehen:
Bei Übernahme einer Konfigurationsänderung extrahiert das Konfigurationsskript die Schlüssel aus der Konfiguration bzw. den dort referenzierten Dateien und erstellt die Datei authorized_keys neu.
ACHTUNG
Hat der Parameter SSH_PUBLIC_KEY_N den
Wert '0', so wird die Datei
/root/.ssh/authorized_keys gelöscht.
Wurde diese Datei unter Umgehung der eisfair Konfigurationsprozesse geändert, so gehen diese
Änderungen verloren.
Gültige Werte: Zahl
Standardeinstellung: SSH_PUBLIC_KEY_N='0'
Gültige Werte: alles
Standardeinstellung: SSH_PUBLIC_KEY_x_NAME=''
Gültige Werte: yes, no
Standardeinstellung: SSH_PUBLIC_KEY_x_ACTIVE='no'
Gültige Werte: Pfad oder Wert
Standardeinstellung: SSH_PUBLIC_KEY_x=”
Gültige Werte:
Standardeinstellung: SSH_MAX_STARTUPS='10'
Gültige Werte: yes, no
Standardeinstellung: SSH_COMPRESSION='yes'
Gültige Werte: yes, no
Standardeinstellung: SSH_STRICTMODES='yes'
ACHTUNG
Bitte zunächst überprüfen, ab die Key-Authentifizierung
auch funktioniert, erst dann SSH_PASSWDAUTH auf
'no' setzen.
Gültige Werte: yes, no
Standardeinstellung: SSH_PASSWDAUTH='yes'
Gültige Werte: yes, no
Standardeinstellung: SSH_CH_RESPONSEAUTH='yes'
Gültige Werte: Zahl
Standardeinstellung: SSH_CLIENTALIVEINTERVAL='0'
Gültige Werte: Zahl
Standardeinstellung: SSH_CLIENTALIVECOUNTMAX='3'
Gültige Werte: yes, no
Standardeinstellung: SSH_ENABLE_SFTP='yes'
Bitte beachten: Wird hier eine DEBUG-Stufe eingestellt, so werden ggf. Informationen mitgeschrieben, die in den Privatbereich eines Benutzers fallen können. Eine solche Ausführlichkeit sollte nur wenn unbedingt notwendig eingeschaltet werden.
Die Menge der Informationen, die mitgeschrieben werden, steigt ggf. in gewaltige Größenordnungen.
Gültige Werte: QUIET,FATAL,ERROR,INFO,VERBOSE,DEBUG,DEBUG1,DEBUG2,DEBUG3
Standardeinstellung: SSH_LOGLEVEL='INFO'