Entwicklungsumgebung/SSH Server

Aus Delixs
Zur Navigation springen Zur Suche springen


Diese Seite ist momentan eine Baustelle im Zustand: 1

Wird bearbeitet von: Schoffer
Hilfe zum Bearbeitungsstatus: Hilfe:Status eines Artikels


SSH-Server

Installation von SSH

Haben Sie später einmal keinen ständigen direkten Zugang zu Ihrem Server, müssen Sie diesen sinnvoller Weise fernwarten können. Solche Verbindungen aus der Ferne sollten aber grundsätzlich verschlüsselt werden. SSH - die Secure SHell - ist das Mittel dafür. Wir werden den freien OpenSSH installieren und verwenden.

Installieren Sie das Metapakt, bestehend aus openssh-server, openssh-client und openssh-blacklist mit dem Befehl:

aptitude install ssh

Testen Sie nun, indem Sie sich als Nutzer direkt am SSH-Server anmelden.


ssh-Anmeldung
Abbildung: ssh-Anmeldung


Die ssh-Anmeldung passiert als Nutzer "sysadm" direkt am eigenen Rechner "localhost" mittels:

 ssh sysadm@localhost

wobei Sie bei der allerersten Anmeldung gefragt werden, ob der key akzeptiert werden soll. Beantworten Sie diese Frage mit "yes" (ausgeschrieben) und dem vergebenen Passwort. Abmelden können Sie sich mittels "exit" später wieder.

Ist diese Anmeldung erfolgreich verlaufen, arbeiten sowohl ssh-client als auch ssh-Server wie gewünscht.

Oft finden Sie noch 3-DES als Standardalgorithmus vor, der zwar sicher aber auch sehr langsam ist. Schnellere Algorithmen, wie AES oder Blowfish sind daher vorzuziehen.

Von DES ist abzuraten, weil er inzwischen innerhalb weniger Sekunden geknackt werden kann. Unser SSH muss also noch konfiguriert werden.


Konfiguration von SSH

Es gibt mehrere Dateien zur Konfiguration von SSH:

  • /etc/ssh/sshd_config - die Konfiguration des SSH-Servers
  • /etc/ssh/ssh_config - die globale Konfiguration des SSH-Clients
  • ~/.ssh/config - die lokale Konfiguration des SSH-Clients
  • ~/.ssh/known_hosts - die akzeptierten public-Keys des SSH-Clients


SSH-Client

Das Verzeichnis ".ssh" wird durch den ssh-Client automatisch bei der ersten Anmeldung mittels ssh erstellt. Darin befindet sich die Datei "known_hosts", in die auch automatisch alle von Ihnen akzeptierten public-Keys gespeichert werden.

Solange keine Datei "config" im Verzeichnis ".ssh" eines Nutzers existiert, wird automatisch die globale Konfiguration verwendet. Eine angepasste eigene Konfiguration für einen Nutzer können Sie ganz einfach durch kopieren der Datei "/etc/ssh/ssh_config" als "~/.ssh/config" erzeugen und diese dann nach eigenen Wünschen verändern.

Hinweis: Diese Clienteinstellungen werden Sie später brauchen, um sich vom delixs-Server aus auf anderen Server anmelden zu können.


SSH-Server

Die Einstellungen für den SSH-Server finden Sie in der Datei "/etc/ssh/sshd_config". Einige ausgewählte Einstellungen für den SSH-Server sind:

  • Port 22 - der Port, auf dem der Server hört,
  • Protocol 2 - Das Protokoll SSH-Version-2 kurz SSHv2, nutzen Sie keinesfalls mehr SSHv1,
  • LoginGraceTime 30 - Die Zeit in Sekunden, in der ein Anmeldeversuch abgeschlossen werden muss,
  • PermitRootLogin no - der Nutzer root darf sich nicht direkt anmelden,
  • PermitEmptyPasswords no - Nutzer ohne Passwort dürfen sich nicht anmelden
  • UsePAM yes - Die Authentifizierung erfolgt über PAM

Vor der Veränderung einer Datei sollte immer eine Sicherheitskopie angelegt werden

 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org

damit eventuell später der originale Zustand wieder hergestellt werden kann.

In die Datei "/etc/ssh/sshd_config" müssen zum Sperren von massenhaften Anmeldeversuchen und dem Verbot einer direkten "root"-Anmeldung noch ein Eintrag hinzugefügt (MaxAuthTries) bzw. verändert werden:

 MaxAuthTries 4
 LoginGraceTime 30
 PermitRootLogin no

Um dennoch als "root" aus der Ferne arbeiten zu können, melden Sie sich künftig immer mit einer anderen Nutzerkennung an und werden danach erst mittels Befehl su - zum root.


Damit alle geänderten Einstellungen übernommen werden, starten Sie noch den SSH-Server neu:

 /etc/init.d/ssh restart

Zusatz: Den Anmeldetext für eine SSH-Anmeldung können Sie auch frei verändern. Er ist in der Datei "/etc/motd" abgelegt. Auch hier gilt es, vorher eine Sicherheitskopie anzulegen.

 mv /etc/motd /etc/motd.orig
 touch /etc/motd
 mcedit /etc/motd

Und nun können Sie den Text anpassen:

 delixs-Schulserver alix 2.6.26-2-686

Diese eine Zeile sollte völlig ausreichend sein.

SSH als Nutzer root

Damit ein ssh-login funktioniert muss root der Zugang erlaubt werden:

 sed -i '/^PermitRoot/{s#no#yes#}' /etc/ssh/sshd_config
 service ssh restart

Achtung: Dieser "root"-Zugang sollte nur in einer nicht produktiven Entwicklungsumgebung freigegeben werden.


Weblinks



zurück | Hauptseite

Uwe Schoffer 2009