Knowledge base

Aktuelle Änderungen - Suchen:

Home

HowTo's


Apache?

Backup

CalDAV_Radicale

CUPS

DHCP?

DNS

Exim

IPTables

LDAP?

Log

LVM?

Mesos DAWebart

MySQL

Plesk

Postfix?

RAID

Samba4

Squid

SSH

VPN

Webmin?

SSH

SSH (Secure Shell)

Der Fernzugang zu den Servern wird über das SSH-Protokoll abgewickelt. Für WINDOWS ist der Client PuTTY zu empfehlen, zum Transferieren von Dateien/Verzeichnissen vom lokalen PC zum Server WinSCP, das auf dem gleichen Protokoll aufbaut.

Server

Der SSH-Server muss auf dem Zielhost laufen (sshd).

  • Package: openssh-server
  • config: /etc/ssh/sshd_config

Wenn die Einstellung PasswordAuthentication yes gesetzt ist, kann auch über Benutzer/Passwort authentifiziert werden, bei no nur über Schlüssel.

Anmeldung als root

ist aus Sicherheitsgründen bei neueren Distros abgeschaltet.

  • /etc/ssh/sshd_config - PermitRootLogin yes
  • sshd restart

Client

Package: openssh-client

Config

Die Konfiguration kann aus 3 Komponenten bestehen, die in der folgenden Reihenfolge berücksichtigt werden:

  • Kommandozeile
  • lokale Config des Users: ~/.ssh/config
  • globale config des Hosts: /etc/ssh/ssh_config

Verbindung

  • ssh <HOST> - Es wird versucht eine Verbindung zum angegebenen Host herzustellen. Der Benutzer auf dem Zielrechner ist der gleiche Name wie der angemeldete Benutzer auf dem Client.
  • ssh <USER>@<HOST> - Es wird versucht eine Verbindung zum angegebenen Host unter dem angegebenen Benutzer herzustellen. (der Benutzer muß nicht auf dem lokalen Client existieren.

Verbindung mit Schlüsseln

Eine SSH-Verbindung kann hergestellt werden, in dem man das Passwort des Users auf dem Zielhost angibt (unsicher) oder mit Schlüssel(paaren).

SSH-Client unter LINUX

  1. Erstellung des Schlüsselpaares auf dem Quellhost für den jeweils angemeldeten User
    ssh-keygen <OPTIONEN> - Das Schlüsselpaar (öffentlicher/privater) wird im Verzeichnis ~/.ssh/ erstellt (oder einem anderen Verzeichnis, wenn bei den Optionen angegeben).
  2. Transfer des öffentlichen Schlüssels (<DATEINAME>.pub) an alle Server, mit denen der angemeldete Benutzer des Quellhosts Verbindung aufnehmen soll.
    1. Kopieren von <DATEINAME>.pub in das Homeverzeichnis des Users auf dem Zielhost (Name muß nicht mit Benutzer des Quellhosts identisch sein)
    2. Einfügen öffentlicher Schlüssel in die Liste der autorisierten Schlüssel unter dem Benutzer des Zielhosts

cd ~/.ssh
touch authorized_keys (Protokollversion 1, DSA) oder authorized_keys2 (Protokollversion 2, RSA) //nur wenn Datei noch nicht vorhanden
chmod 600 authorized_keys|authorized_keys2 //nur wenn Datei noch nicht vorhanden
cat ../<DATEINAME.pub >> authorized_keys|authorized_keys2
rm ../<DATEINAME.pub

Aus Sicherheitsgründen sollte der öffentliche Schlüssel ausschließlich unter dem Benutzer des Quellhosts gespeichert sein oder in einem besonders sichern Medium (z.B. USb-Stick, der nur bei Bedarf an PCs angeschlossen wird) Alle anderen Kopien, die z.B. beim Transfer auf den Zielhost entstehen, sollten irreversibel gelöscht werden (kein Papierkorb bei WINDOWS).

Defaultdateien

Ohne die Angabe eines Dateinamens werden von ssh-keygen folgende Defaultdateien erstellt

  • bei RSA: id_rsa[.pub]
  • bei DSA: identity[.pub]

SSH-Client WINDOWS

PuTTY - der SSH-Client für WINDOWS kann keine eigenen Schlüssel erstellen, deshalb ist hier die Vorgehensweise etwas anders

  1. Erstellen Schlüsselpaar auf Zielhost; Erstellung der Schlüssel z.B. in ~./keys/
  2. Einfügen öffentlicher Schlüssel in die Liste der autorisierten Schlüssel unter dem Benutzer cat <DATEINAME>.pub >> ~/.ssh/authorized_keys[2]
  3. Privaten Schlüssel auf Quellhost übertragen
    Der private Schlüssel wird auf alle Maschinen verteilt, von denen auf den Server zugegriffen werden soll, und kann dort von Putty oder WinSCP benutzt werden.
  4. Umwandeln mit PuTTYgen in ein Format, daß PuTTY lesen kann (*.ppk)
    1. private Schlüsseldatei öffnen (load)
    2. Passphrase eingeben
    3. Save Private Key (.ppk)
  5. Aufnahme des Schlüssels in die Verbindungseinstellungen von PuTTY
Aus Sicherheitsgründen sollte der private Schlüssel immer passwortgeschützt und gut verwahrt werden (z.B. auf einem USB-Stick,

der nur bei Verwendung in den PC eingesteckt wird oder in einem Verzeichnis auf das nur berechtigte Benutzer explizit Zugriff haben.

Passwort privater Schlüssel

Um einen Missbrauch des privaten Schlüssels zu verhindern, kann er bei der Erzeugung (ssh-keygen) mit einem Passwort versehen werden. Das Passwort wird beim Verbindungsaufbau auf dem Quellhost abgefragt und nur dort ausgewertet, d.h. es geht nicht über das Netz.

Nachträglich kann das Passwort geändert werden mit: ssh-keygen -p <DATEINAME>

Passwortverschlüsselung

Der PuTTY keygen kann nur die Verschlüsselung DES-EDE3-CBC, die moderne ssh-keygen nicht mehr unterstützen (da geht nur noch AES128). Gehen tu es wie folgt:

  1. nur einen privaten Schlüssel mit openssl erstellen: openssl genrsa -des3 -out <file>
  2. Berechtigung des privaten Shlüssels einschränken chmod 600 <file>
  3. öffentlichen Schlüssel erzeugen: ssh-keygen -e -f <file> >> <file>.pub
  4. öffentlichen Schlüssel -> authorized_keys2
powered by:PmWiki-Logo
Bearbeiten - Versionen - Druckansicht - Aktuelle Änderungen - Suchen
Zuletzt geändert am 26.05.2018 13:27 Uhr