SSH - Secure Shell

SSH - Secure Shell

Mit SSH verbinden Sie sich unter Linux mit entfernten Rechnern und steuern diese wie Sie wollen

Informationen

Spätestens wenn man einen Server im Internet hat wird es ernst – der Provider überlässt Ihnen meist einen Server mit dem gewünschten Betriebssystem, diesen zu warten ist dann Ihre Pflicht.

Also etwa das System aktuell halten um die Sicherheit zu gewährleisten aber auch um Einstellungen zu tätigen die mit einem möglicherweise vorhandenen Kontroll-Panel nicht möglich sind, Software zu installieren und so weiter. Aber auch wenn man keinen Server hat ist SSH vom Vorteil, so kommt man über eine sichere Verbindung auf einen anderen Rechner im Netzwerk, greift auf Dateien zu, …

Früher nutzte man für solche Geschichten Telnet, doch dieses Protokoll ist alles andere als sicher da alles im Klartext übertragen wird. Für solche Dinge gibt es nun SSH – eben Secure Shell und diese werden wir nun etwas näher kennen lernen.

SSH nutzen

SSH ist auf allen Linux-Distributionen automatisch vor installiert, genutzt wird dieses Protokoll entweder auf dem Terminal oder auch mit grafischer Software.

Wir werden uns die Geschichte erst einmal auf dem Terminal ansehen da es gewisse Dinge gibt die sich nur auf diesem erledigen lassen – so etwa die Installation weiterer Software oder das Aktualisieren des Systems. Weiter unten werden wir uns dann mit grafischer Software befassen.

Um sich mit einem entfernten Rechner egal ob im eigenen LAN oder im Internet öffnen wir zu Beginn wie schon beschrieben das Terminal und starten den Befehl (als normaler Nutzer):

ssh Nutzername@IP-Adresse

Oder auch:

ssh Nutzername@Rechnername

In diesem Beispiel werde ich ganz einfach meinen Raspberry Pi anwählen:

SSH-Verbindung auf dem Terminal unter Linux starten

SSH-Verbindung auf dem Terminal unter Linux starten

Nun kann man ganz einfach wie auf dem lokalen System auf dem Terminal arbeiten. Um die Verbindung wieder zu beenden nutzt man den Befehl:

exit

Unter normalen Umständen ist auf einer normalen Distribution für den Nutzer kein SSH-Server installiert, möchte man also etwa einen weiteren Rechner via SSH zugreifen installiert man sich über die Paket-Verwaltung das Paket “openssh-server“. Ist dies geschehen müssen wir noch kurz an die Konfigurationsdatei die wir unter “/etc/ssh/sshd_config” finden, diese bearbeiten wir mit einem Texteditor mit Administrator-Rechten. Wichtig ist es hier für die Sicherheit den Eintrag:

PermitRootLogin yes

auf:

PermitRootLogin no

zu setzen. Nun starten wir den Server mit dem Befehl:

systemctl restart ssh.service

Das war es dann auch schon – der Server ist via SSH erreichbar. Um etwa eine Datei oder ein Verzeichnis vom lokalen Rechner auf einen anderen via SSH zu übertragen:

scp Nutzername@Ip-Adresse:Dateiname

Im Falle eines Verzeichnisses:

scp -R Nutzername@IP-Adresse:Verzeichnis

In beiden Fällen landet die Datei oder das Verzeichnis im Verzeichnis auf dem man sich mit dem Terminal aktuell befindet.

Grafische Programme

Natürlich muss man nicht unbedingt auf dem Terminal arbeiten um mit SSH auf entfernte Rechner zugreifen zu können (wie schon beschrieben gibt es aber Dinge wie etwa die Paket-Verwaltung die nur auf dem Terminal möglich ist), es gibt auch grafische Software. Unter der Desktop-Umgebung KDE ist beispielsweise der Dateimanager Dolphin darauf getrimmt, man klickt hier ganz einfach in die Adresszeile und gibt folgenden Befehl ein:

fish://Nutzername@IP-Adresse
Auf entfernte Rechner grafisch via SSH zugreifen

Auf entfernte Rechner grafisch via SSH zugreifen

Die selbe Geschichte unter GNOME mit dem Dateimanager Nautilus, hier klickt man erst links in der Liste auf “Andere Orte” und gibt in das Feld “Mit Server verbinden” folgenden Befehl ein:

ssh://Nutzername@IP-Adresse

Unter allen anderen Desktop-Umgebungen wäre Krusader eine Alternative, hier nutzt man das Menü “Extras / Neue Netzwerkverbindung“, stellt das Protokoll auf “fish” und gibt noch die IP_Adresse sowie Nutzername und Passwort ein:

Auf entfernte Rechner grafisch via SSH zugreifen

Auf entfernte Rechner grafisch via SSH zugreifen