SSH - Arbeiten auf entfernten Rechnern

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

Was ist SSH?

SSH (Secure Shell) ist ein Protokoll zur sicheren, verschlüsselten Kommunikation im Netzwerk. Es dient u.a. zum Aufbau von Verbindungen zu anderen Computern und zur Arbeit mit der dortigen Kommandozeile, ggf. auch mit einer Benutzeroberfäche. Auch die verschlüsselte Übertragung von Dateien per SFTP (Secure File Transfer Protocol) ist möglich. Daher wird es häufig zur Fernwartung von Servern verwendet.

Die zu verwendenden Kommandos stammen aus der Unix-Welt. Es sind aber für alle populären Betriebssysteme inzwischen SSH-Server und -Clients verfügbar.

OpenSSH installieren

Damit aus der Ferne auf ein Linux-System zugegriffen werden kann, muss auf diesem ein SSH-Server installiert und aktiviert sein. Standardmäßig wird der SSH-Server dann bei jedem Systemstart mit aktiviert.

Die Installation eines SSH-Servers ist recht einfach mit folgendem Befehl erledigt:

sudo apt-get install openssh-server

Daraufhin wird der OpenSSH-Server installiert und ist auch gleich erreichbar. Das Passwort für den Zugriff auf das System per SSH ist das Passwort des Benutzers, dessen Zugang aus der Ferne benutzt werden soll.

Status des SSH-Servers abfragen

Ob der SSH-Server bereit für Verbindungen ist, kann mit folgendem Befehl auf der Kommandozeile abgefragt werden:

sudo service ssh status

Die Ausgabe auf der Console kann so in etwa aussehen:

● ssh.service - OpenBSD Secure Shell server
  Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
  Active: active (running) since Fri 2018-02-21 12:19:15 CET; 6h ago
 Process: 1429 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCES
 Process: 1424 ExecReload=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Process: 1051 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 1077 (sshd)
   Tasks: 1 (limit: 4915)
  CGroup: /system.slice/ssh.service
          └─1077 /usr/sbin/sshd -D

Unter dem Punkt Active kann nun der aktuelle Status des OpenSSH-Servers abgelesen werden.

Herstellen einer Verbindung

Um eine Verbindung zu einem entfernen Rechner aufnehmen zu können, muss dort ein SSH-Server installiert und gestartet sein. Außerdem müssen die Zugangsdaten zu einem dort eingerichteten Benutzerkontos, sowie die Netzwerkadresse des Rechners verfügbar sein. Wenn ein anderer Port, als der Standard-Port 22 verwendet wird, muss dieser zwingend beim Verbindungsaufbau angegeben werden.


Folgendes Kommando auf einer Linux-Kommandozeile versucht eine Verbindung mit einem Rechner im gleichen Netzwerk herzustellen:

ssh 192.168.0.100

Der Benutzername kann bereits beim Verbindungsaufbau übergeben werden:

ssh user@192.168.0.100

Das System würde anschließend nach dem Passwort für user fragen.

Falls statt dem Standard-Port 22 ein anderer Port auf dem entfernten Rechner verwendet wird, muss er im Kommando mit aufgeführt werden.
Zum Beispiel:

ssh user@192.168.0.100 -p 23

Schlüssel aus der Liste bekannter Hosts löschen

Der Key kann mit Hilfe von ssh-keygen entfernt werden.

ssh-keygen -R hostname [-f known_hosts_file]

Siehe auch