Sie sind neu in der Welt von Linux und fragen sich, was SSH eigentlich ist und wofür es verwendet wird? Keine Sorge, dieser Artikel wird Ihnen erklären, wie Sie SSH unter Linux einrichten und nutzen können. Wir werden die Funktionsweise von SSH erläutern und einige praktische Anwendungen aufzeigen. Fangen wir an!
SSH (Secure Shell) ist ein weit verbreitetes Werkzeug in der Linux-Umgebung. Es ist jedoch nicht standardmäßig auf allen gängigen Linux-Distributionen installiert (Ausnahmen sind Fedora und OpenSUSE). Die Einrichtung von SSH ist unkompliziert. Wenn Sie sich lediglich per SSH mit einem entfernten Linux-Rechner verbinden möchten, genügt die Installation eines SSH-Client-Tools. Dieses Tool ist im Wesentlichen SSH selbst und beinhaltet keine Serverfunktionen.
Es empfiehlt sich jedoch, auf jedem Linux-System einen SSH-Server einzurichten. Dies ermöglicht eine bidirektionale Kommunikation, sodass jeder Rechner Verbindungen senden und empfangen kann. Im Folgenden zeigen wir Ihnen, wie Sie dies bewerkstelligen.
Installation der SSH-Tools
Ubuntu
sudo apt install openssh-server
Arch Linux
sudo pacman -S openssh sudo systemctl enable sshd sudo systemctl start sshd
Debian
sudo apt-get install openssh-server
Fedora/OpenSUSE
Auch wenn SSH bereits installiert ist, ist der Server möglicherweise nicht aktiviert. Um ihn zu aktivieren, öffnen Sie ein Terminal und geben Sie Folgendes ein:
sudo systemctl enable sshd sudo systemctl start sshd
Andere Distributionen
Andere hier nicht aufgeführte Linux-Distributionen haben möglicherweise bereits die benötigten SSH-Tools. Wenn dies nicht der Fall ist, konsultieren Sie am besten die offizielle Dokumentation Ihrer jeweiligen Linux-Version. Alternativ können Sie in Ihrer Softwareverwaltung nach „openssh-server“, „ssh“ oder „sshd“ suchen.
Als Nächstes sollten Sie die Konfigurationsdatei von SSH anpassen. Der wichtigste Punkt ist der Standardport. SSH verwendet standardmäßig Port 22. Da dies ein bekannter Port ist, wird er oft von Hackern angegriffen. Es ist daher ratsam, den Port auf eine zufällige Nummer zu ändern. Wählen Sie einfach einen Port, der nicht von anderen Anwendungen genutzt wird.
Öffnen Sie die Konfigurationsdatei mit folgendem Befehl: sudo nano /etc/ssh/ssh_config
Suchen Sie in der Datei nach # Port 22
. Entfernen Sie das „#“ und ändern Sie die „22“ in die gewünschte Portnummer. Speichern Sie die Änderungen mit Strg + O und starten Sie SSH mit den unten stehenden Befehlen neu.
Ubuntu/Debian:
service ssh restart
Arch/OpenSUSE/Fedora:
sudo systemctl sshd restart
Hinweis: Wenn Sie Ihren SSH-Port nicht ins Internet weiterleiten möchten, ist eine Änderung des SSH-Ports nicht zwingend erforderlich, wenn das System im lokalen Netzwerk (LAN) verbleibt.
Verbinden Sie sich mit Ihrem Server via SSH mit folgendem Befehl: ssh -p portnummer [email protected]
Dateiübertragung per Kommandozeile
SSH ist sehr nützlich, wenn Sie auf einen anderen Rechner remote zugreifen müssen. Dies kann über das Internet oder im selben lokalen Netzwerk erfolgen. Bei der Fernwartung eines Linux-PCs kann es notwendig sein, auf Dateien zuzugreifen, beispielsweise Konfigurationsdateien oder wichtige Dokumente. Das Versenden von Dateien an einen entfernten Rechner über das Linux-Terminal kann umständlich sein.
Aus diesem Grund bietet SSH eine Funktion zum einfachen Übertragen von Dateien direkt über SSH.
Der Befehl lautet: scp /pfad/zu/dateien-oder-ordnern [email protected]:/pfad/zum/ziel
Ersetzen Sie die Platzhalter durch Ihre eigenen Pfade. Ein Beispiel könnte so aussehen:
scp /home/derrik/wichtigeDatei.txt [email protected]:/home/derrik-server/dateien/
Sicherer FTP-Server (SFTP) überall
FTP ist eine ältere Technologie, aber sie ist immer noch sehr nützlich. In Verbindung mit SSH wird FTP, genauer gesagt SFTP, häufig genutzt. SFTP ermöglicht einen einfachen Zugriff auf die Dateien eines entfernten Linux-Rechners direkt im lokalen Dateimanager. Es ist keine zusätzliche Konfiguration erforderlich, um SFTP zu nutzen. Jeder Linux-Rechner mit einem laufenden SSH-Server bietet auch SFTP. Um darauf zuzugreifen, öffnen Sie den Dateimanager Ihrer Wahl und suchen Sie nach „Server“, „Netzwerk“ oder ähnlichem. Da jeder Dateimanager unterschiedlich ist, ist es unmöglich, alle Optionen hier zu erläutern.
sftp://[email protected]:portnummer
Nachdem Sie die SFTP-Adresse eingegeben haben, werden Sie zur Eingabe Ihres Passworts und zur Bestätigung des Schlüssels des SSH-Servers aufgefordert.
Hinweis: Um von außerhalb Ihres Netzwerks auf SFTP zuzugreifen, müssen Sie den für SSH verwendeten Port weiterleiten. Konsultieren Sie die Anleitung Ihres Routers, um zu erfahren, wie Sie Ports weiterleiten.
Remote-Sicherungen
SSH hat viele Anwendungsfälle, inklusive der Remote-Sicherung von Laufwerken und Partitionen. Sie können eine Festplatte von einem lokalen Rechner sichern und das Image über das Netzwerk per SSH senden. Verwenden Sie dazu folgenden Befehl:
Hinweis: In diesem Beispiel wird das Laufwerk /dev/sda verwendet. Sie müssen den Befehl an Ihre spezifischen Bedürfnisse anpassen.
Partitionssicherung
dd if=/dev/sda1 | gzip -1 - | ssh [email protected] dd of=image.img.gz
Sicherung des kompletten Laufwerks
dd if=/dev/sda | gzip -1 - | ssh [email protected] dd of=image.img.gz
Es ist auch möglich, das Festplattenimage (oder Partitionen) des Remote-Laufwerks abzurufen:
Partitionssicherung
ssh [email protected] "dd if=/dev/sda1 | gzip -1 -" | dd of=image.img.gz
Sicherung des kompletten Laufwerks
ssh [email protected] "dd if=/dev/sda | gzip -1 -" | dd of=image.img.gz
Extrahieren Sie das Image mit: gzip -d image.img.gz
Remote-Programme lokal anzeigen
Manchmal ist das Terminal für die Fernwartung eines Rechners nicht ausreichend. Mit SSH ist es möglich, X-Window-Forwarding durchzuführen. Dies bedeutet, dass Sie den X11-GUI-Server verwenden können, um Fenster von entfernten Anwendungen auf Ihren lokalen Rechner weiterzuleiten. Wenn Sie beispielsweise eine Webseite auf dem entfernten Linux-Rechner testen müssen, können Sie Firefox remote starten und das Firefox-Fenster auf Ihren lokalen Linux-Rechner umleiten.
Aktivieren Sie die X11-Fensterweiterleitung, indem Sie die ssh-Konfigurationsdatei editieren: sudo nano /etc/ssh/ssh_config
Suchen Sie nach # ForwardX11 no
, entfernen Sie das „#“ und ändern Sie „no“ in „yes“.
Starten Sie den SSH-Dienst neu.
Ubuntu/Debian:
service ssh restart
Arch/OpenSUSE/Fedora:
sudo systemctl sshd restart
Verwenden Sie beim Verbinden über SSH den Schalter -X.
ssh -X -p portnummer [email protected]
Fazit
SSH ist ein sehr nützliches Werkzeug, das viele Linux-Einsteiger noch nicht kennen. Das ist schade, denn es bietet viele Möglichkeiten. In diesem Artikel haben wir nur einige der grundlegenden Funktionen behandelt. Ihre eigenen Fähigkeiten sind die einzige Grenze bei der Nutzung von SSH.