SSH - Arbeiten auf entfernten Rechnern: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K (Herstellen einer Verbindung)
K
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=ssh=
+
==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.
 
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 [[Betriebssystem|Betriebssysteme]] inzwischen SSH-[[Server]] und -[[Client|Clients]] verfügbar.
 
Die zu verwendenden Kommandos stammen aus der Unix-Welt. Es sind aber für alle populären [[Betriebssystem|Betriebssysteme]] inzwischen SSH-[[Server]] und -[[Client|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==
 
==Herstellen einer Verbindung==
Zeile 18: Zeile 43:
 
Zum Beispiel:
 
Zum Beispiel:
 
  ssh user@192.168.0.100 -p 23
 
  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==
 +
*[[Mit SSH ohne Passwort auf entferntem Rechner anmelden]]
  
 
[[Kategorie:Betriebssysteme]]
 
[[Kategorie:Betriebssysteme]]

Aktuelle Version vom 14. März 2020, 09:35 Uhr

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