SSH-Programme sind sehr vielseitige und wichtige Werkzeuge für Systemadministratoren. Sie bieten Ihnen nicht nur die Möglichkeit, um mittels SSH-Netzwerkprotokoll eine Verbindung zu Ihrem Server einzurichten. SSH können Sie auch dazu nutzen, um Dateien sicher zu kopieren, die Automatisierung zu vereinfachen oder um die Sicherheit Ihres Servers zu erhöhen. Öffnen Sie Ihren SSH-Client. Melden Sie sich mit Ihren Login-Daten bei Ihrem Server an und testen Sie die folgenden SSH-Tricks!
SSH-Trick 1 – Konfigurieren Sie eine sicherere SSH-Verbindung
Obwohl SSH für „Secure-Shell“ steht, sind SSH-Verbindungen in Ihrer Standard-Installation nur bedingt sicher. Aber Sie können einige Optimierungen vornehmen, um Ihre Verbindung sicherer zu machen. Die Parameter für diese Änderungen finden Sie in der folgenden Datei: / etc / ssh / sshd_config.
Verweigern Sie das Login für Root-Benutzer
Root-Benutzer sind gewöhnlich die User, die die umfangreichsten Rechte auf einem Server haben. Aus Sicherheitsgründen kann es deshalb sinnvoll sein, Root-Benutzern keinen SSH-Zugriff zu gewähren. Ändern Sie dafür die Zeile:
PermitRootLogin Yes
in
PermitRootLogin No
Legen Sie fest, welche Nutzer SSH-Verbindungen aufbauen dürfen
Zugriffsrechte für einzelne Benutzer definieren
Wenn Sie weniger als zehn Benutzer für Ihren Server eingerichtet haben, können Sie mit dem Befehl AllowUsers
individuell festlegen, welcher Benutzer mit SSH eine Verbindung zu Ihrem Server herstellen kann. Die Benutzerliste ist begrenzt. Vergessen Sie vor allem nicht, sich selbst in die Besucherliste einzuschließen!
AllowUsers [INDIVIDUELLER BENUTZERNAME]
Hinweis zur Verwendung des Befehls AllowUsers:
Bitte beachten Sie, dass alle Benutzer, die Sie nicht explizit aufnehmen, verboten sind.
Zugriffsrechte für Benutzergruppen verwalten
Wenn Sie für Ihren Server mehr als zehn Benutzer eingerichtet haben oder wenn Sie Ihre Benutzer nach Gruppen verwalten möchten, verwenden Sie den Befehl AllowGroups
für die Verwaltung der Zugriffsrechte.
Richten Sie zunächst Gruppen für Benutzer ein
sudo groupadd -r sshadmin
sudo usermod -a -G sshadmin [BENUTZERNAME]
Suchen Sie in der Datei sshd_config den Eintrag AllowGroups
. Ändern Sie den Eintrag auf:
AllowGroups sshusers
Starten Sie nun den SSH-Daemon neu. Verwenden Sie dafür das Kommando:
sudo service ssh restart
Sollten Sie auf Ihrem Linux-System das Hintergrundprogramm systemd verwenden, geben Sie bitte folgenden Befehl ein:
sudo systemctl restart sshd
oder
sudo systemctl restart ssh
Exklusiver SSH-Zugriff via fester IP – Jump-Server einrichten
Es gibt noch eine weitere Sicherheitsoption, die ich Ihnen vorstellen möchte. Beschränken Sie die Möglichkeit von SSH-Sessions auszuführen auf einen bestimmten Server ein. Ein solcher Server wird auch Jump-Server genannt. Damit ein System als Jump-Server eingerichtet werden kann, muss dieser über eine feste IP-Adresse verfügen, die sich nicht ändert.
Die Einschränkung des SSH-Zugriffs auf zulässigen IP-Adressen nehmen Sie über iptables
vor:
sudo iptables -A INPUT -p tcp -s [IPADDRESSE] –dport 22 -j ACCEPT
SSH-Tipp 2 – Kopieren von Dateien sicher auf und von Ihrem Server
Das SSH-Protokoll enthält die beiden Teilfunktionen SCP (Secure Copy) und SFTP (Secure FTP). Beides sind sichere Alternativen zu FTP (File Transfer Protocol) und RCP (Remote Copy). Mit Hilfe von SCP und SFTP können Sie z.B. Dateien sicher von Ihrem Desktop PC und Ihrem Server up- bzw. downloaden. Für die Übertragung müssen Sie den spezifischen Pfad zu dem entsprechenden Verzeichnis auf Ihrem Server kennen:
Upload mittels SCP
scp [EINDEUTIGE ADRESSIERUNG]:/opt/text/index.html
Als [EINDEUTIGE ADRESSIERUNG] können Sie z.B. die IP-Adresse oder der generische Hostname des jeweiligen Servers verwenden.
Im Folgenden werden Sie aufgefordert, das dazugehörige Passwort einzugeben.
[EINDEUTIGE ADRESSIERUNG] Passwort: *******************
Anschließend wird die entsprechende Datei übertragen.
Index.html 100% 0 0.0KB / s 00:00
Download mittels SCP
Selbstverständlich können Sie mittels SCP auch Dateien von Ihrem Server z.B. auf Ihren Desktop-PC downloaden. Geben Sie dafür folgende Syntax an:
scp [EINDEUTIGE ADRESSIERUNG]:/opt/text/index.html.
Der Vollstopp (.) teilt SCP mit, dass die Datei in das aktuelle Verzeichnis auf dem lokalen System kopiert werden soll.
Dateiübertragung mittels SFTP
SFTP funktioniert wie FTP, allerdings über die Kommandozeile. Neben einzelnen Dateien können Sie aber auch mehrere Dateien auf einmal übertragen.
Eröffnen Sie dazu zunächst eine SFTP-Sitzung:
sftp [EINDEUTIGE ADRESSIERUNG]
Geben Sie dann das Passwort für Ihren Benutzer ein.
Wenn Sie eine einzelne Datei oder mehrere Dateien auf Ihren Server uploaden möchten, verwenden Sie bitte Befehle nach dem folgenden Muster:
sftp> put index.html
sftp> put index.html shop.html oeffnungszeiten.html
sftp> mput * .html
Um Dateien vom Server zu erhalten:
Wenn Sie eine einzelne Datei oder mehrere Dateien auf Ihren Server downloaden möchten, verwenden Sie bitte Befehle nach dem folgenden Muster:
sftp> get index.html
sftp> get index.html shop.html oeffnungszeiten.html
sftp> mget * .html
SSH-Tipp 3 – Richten Sie eine passwortlose SSH-Verbindung für automatisiertes Scripting ein
Wenn Sie häufig automatisierte Aufgaben auf einem zweiten Server durchführen, ist es bequemer, wenn Sie zwischen den betreffenden Systemen eine passwortlose SSH-Verbindung herstellen. Jetzt werden Sie sich vielleicht fragen: Sind passwortlose SSH-Verbindungen nicht ein Sicherheitsrisiko? Ja, das wären sie, wenn Sie keine zusätzliche Sicherheitsstufe einbauen.
Nutzen Sie SSH, um eine Verbindung von Ihrem System zu jedem Server herzustellen, zu dem Sie eine passwortlose SSH-Verbindung einrichten möchten. Sobald Sie sich per SSH mit einem Server verbinden, erhalten Sie den Fingerprint des jeweiligen Servers, den Sie zur späteren Identifikation in der Datei know_hosts auf Ihrem System abspeichern können. Die know_hosts-Datei befindet sich im lokalen SSH-Verzeichnis Ihres Systems.
Sichern Sie Ihre Kommunikation, indem Sie eine Private-Key und einen Public-Key erzeugen. So können Sie kontrollieren, zu welchen Systemen Ihr Benutzer-Account eine Verbindung herstellen kann. Der Private Key wird ausschließlich auf Ihrem System (dem Original Host) gespeichert.
ssh-keygen -t rsa
cat. ssh / id_rsa.pub >> .ssh / authorized_keys
cat .ssh / authorized_keys | ssh ZIELRECHNER 'cat >> .ssh / authorized_keys'
Geben Sie das Passwort für den Zielrechner (Remote Host) ein
Geben Sie den Befehl exit
ein, um zum ursprünglichen Server zurückzukehren
Mit SSH ist für den Zugang zum jeweiligen Zielrechner nun kein Passwort mehr erforderlich!
Hinweis:
Der Public-Key dagegen muss auf jedem Server (Remote Server) hinterlegt werden, zu dem Sie eine passwortlose Verbindung herstellen möchten. Die Hinterlegung des Private Keys, sowie die Eingabe des Passworts für den Zielrechner müssen Sie jeweils nur einmal vornehmen.
Drei SSH-Tricks für Administratoren – Fazit
SSH ist ein bemerkenswertes Werkzeug, das Ihnen die Verwaltung Ihres Servers deutlich vereinfachen kann. Im Internet finden Sie viele weitere SSH-Tricks und Beispiele, wie Sie SSH benutzen können. Informieren Sie sich.